0

看来我无法控制我的网络作业正在使用的连接字符串。可能涉及更多问题,但我不知道究竟是什么导致了我的问题。

我有一个生产环境和一个测试部署槽。两者都在运行 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,这解决了一些,但不是我的全部问题。

4

1 回答 1

2

以下博客文章应回答您的部署槽问题。

简而言之:

  • 门户连接字符串始终覆盖 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}.
于 2015-11-18T17:54:44.670 回答