看来我无法控制我的网络作业正在使用的连接字符串。可能涉及更多问题,但我不知道究竟是什么导致了我的问题。
我有一个生产环境和一个测试部署槽。两者都在运行 3 个网络作业。所有网络作业和我的网站都在其 app.config 中分别定义了一个连接字符串。网络配置。
<add name="SQLAZURECONNSTR_MyConnectionStringName" connectionString="Server=xxx;Database=MyTestDatabase;User ID=xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=true" providerName="System.Data.SqlClient" />
当我进行交换时,使用的连接字符串也会被交换,我已经读过这是设计的。现在,我希望我的测试环境始终指向我的测试数据库,所以在交换之后,我尝试在 azure 门户中覆盖我的连接字符串,但这没有任何效果。测试环境仍在使用生产数据库。
只有在我将本地版本(conn.string 指向 TestDB)发布到暂存后,我才看到我的测试网站再次指向 testDB(为什么它没有被 Azure Portal 连接字符串设置覆盖?)
然而,昨晚,我做了一个交换,将我的连接字符串(在 app.config 和 web.config 中)设置为 TestDB,发布到 testEnvironment,还将 webjobs 发布到 testEnvironment。他们仍然使用生产数据库......我登录到我的天蓝色门户 - >测试部署槽。它显示没有网络作业(虽然我很肯定它们正在运行)。
注意:自从我使用 webjobs 以来,我在发布方面遇到了很多问题。因此,出版也有可能出现问题。
很多文字,主要是为了解释我的困惑。它可能归结为几个问题:
在什么情况下,Azure 门户连接字符串设置会覆盖 web/app.config 中的连接字符串?
为什么我的网络作业在 conn 方面表现出不一致的行为。细绳?
我怎样才能一劳永逸地摆脱这种手动 webjob 发布废话,我正在使用 settings.job 方式发布计划 webjobs,这解决了一些,但不是我的全部问题。