测试部署槽

时间:2015-11-18 10:52:39

标签: azure connection-string publish azure-webjobs azureportal

似乎我无法控制我的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>

1 个答案:

答案 0 :(得分:2)

以下blog post应该回答您的部署位置问题。

简而言之:

  • 门户网站连接字符串始终覆盖Web应用程序或webjob web.config / app.config连接字符串。
  • 门户网站有时会显示有关webjobs的无效数据(Azure门户网站错误),通过访问https:// {sitename} .scm.azurewebsites.net / api / webjobs
  • 查看此数据的一种可靠方式
  • 只需要确保将二进制文件部署到正确的位置(`d:\ home \ site \ wwwroot \ app_data \ jobs \ {job_type} \ {job_name}。