似乎我无法控制我的webjob正在使用的连接字符串。可能涉及更多问题,但我不知道究竟是什么导致了我的问题。
我有一个生产环境和一个测试部署插槽。两个都运行着3个webjobs。所有Web作业和我的网站都在其app.config中定义了一个连接字符串。 web.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门户中的连接字符串,但这没有任何效果。测试环境仍在使用生产数据库。
只有在我将本地版本(带有指向TestDB的conn。字符串)发布到暂存之后,我才会看到我的测试网站再次指向testDB(为什么它不被Azure Portal连接字符串设置覆盖?)
然而,昨晚,我做了一个交换,将我的连接字符串(在app.config和web.config中)设置为TestDB,发布到testEnvironment,还发布了webjobs到testEnvironment。他们仍然使用productionDB ...我登录到我的天蓝色门户网站 - &gt;测试部署槽。它没有显示任何网络工作(虽然我肯定他们正在运行)。
注意:由于我使用webjobs,因此发布时遇到很多问题。因此,出版也有可能出现问题。
很多文字,大多是为了试图阐述我的困惑。它可能归结为几个问题:
在什么情况下,azure门户连接字符串设置会覆盖web / app.config中的连接字符串?
为什么我的webjobs在conn方面表现出不一致的行为。字符串?
我怎样才能一劳永逸地摆脱这个手册webjob发布废话,我使用settings.job方式发布日程安排webjobs,这解决了一些但不是我所有的问题。< / p>
答案 0 :(得分:2)
以下blog post应该回答您的部署位置问题。
简而言之: