C# Azure WebJob丢失连接字符串
我在Azure中有一个web作业,其代码如下:C# Azure WebJob丢失连接字符串,c#,azure,web-config,connection-string,app-config,C#,Azure,Web Config,Connection String,App Config,我在Azure中有一个web作业,其代码如下: public static void ProcessQueueMessage([QueueTrigger("ticketprocessorqueue")] string message, TextWriter log) { foreach (var c in ConfigurationManager.ConnectionStrings) { log.WriteLine(c.To
public static void ProcessQueueMessage([QueueTrigger("ticketprocessorqueue")] string message, TextWriter log)
{
foreach (var c in ConfigurationManager.ConnectionStrings)
{
log.WriteLine(c.ToString());
}
}
发布web作业并触发它后,我立即获得以下输出:
DefaultEndpointsProtocol=https;AccountName=****;AccountKey=****
DefaultEndpointsProtocol=https;AccountName=****;AccountKey=****
Server=tcp:northtech.database.windows.net,1433;Database=****;User
ID=****;Password=*****;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
这就是我所期望的。但是,当我在30分钟后触发相同的web作业时,我得到以下结果:
""
绝对没有。我的连接字符串怎么了
这是my app config(用于web作业)和web config(用于父web应用)中的内容的一个片段:
我的连接字符串怎么了?经过大量挖掘,我发现(部分)是什么导致连接字符串在我的web作业中“消失”的。我之所以说“部分”,是因为我找到了修复它的方法,但我为“修复”它而执行的操作没有任何意义。如果有人能对此有所了解,请随意插话 归根结底是这样的:我最近在我的azure应用程序服务中创建了一个额外的“部署槽”。我们使用这个额外的部署槽在最终部署(临时环境)之前测试应用程序。当我添加部署槽时,问题似乎开始了。当我完全移除部署槽时,问题就消失了。就这样。我只知道这些 但这给我带来了更多的问题。以下是一些需要考虑的想法和问题:
我似乎找不到部署槽与web作业的关系。我了解了如何将一些web流量路由到一个或另一个部署槽。但是关于网络工作却什么都没有。有人能解释一下吗?以前有人经历过类似的症状吗?经过大量挖掘,我发现(部分)是什么导致连接字符串在我的web工作中“消失”的。我之所以说“部分”,是因为我找到了修复它的方法,但我为“修复”它而执行的操作没有任何意义。如果有人能对此有所了解,请随意插话 归根结底是这样的:我最近在我的azure应用程序服务中创建了一个额外的“部署槽”。我们使用这个额外的部署槽在最终部署(临时环境)之前测试应用程序。当我添加部署槽时,问题似乎开始了。当我完全移除部署槽时,问题就消失了。就这样。我只知道这些 但这给我带来了更多的问题。以下是一些需要考虑的想法和问题:
我似乎找不到部署槽与web作业的关系。我了解了如何将一些web流量路由到一个或另一个部署槽。但是关于网络工作却什么都没有。有人能解释一下吗?以前有人经历过类似的症状吗?有几件事需要尝试:1)尝试CloudConfigurationManager 2)尝试重新启动应用程序服务。很抱歉,这并没有真正深入到问题的核心,但我已经看到有趣的事情发生了几次,这是解决问题的办法。不过,我并不真正理解问题本身。嗯,就是这样。如果我重新启动应用程序服务,它会再次正常工作,但只能在有限的时间内正常工作。过了一段时间,连接字符串又消失了。好吧,我的理论是这样的。我看到的这种奇怪的行为是在部署一个webjob,然后更改appsetting/connstr时,它们(有时)会失去同步,直到重新启动。和你描述的不同。抱歉,我帮不上忙-这听起来确实很奇怪。您是否尝试在Webapp应用设置中添加连接字符串并将Webapp始终打开?谢谢您的建议Tom,但始终打开已打开。设置位于父web应用程序的web配置文件(以及web作业的应用程序配置文件)中。有几件事需要尝试:1)尝试CloudConfigurationMana
<connectionStrings>
<add name="AzureWebJobsDashboard" connectionString="DefaultEndpointsProtocol=https;AccountName=****;AccountKey=****" />
<add name="AzureWebJobsStorage" connectionString="DefaultEndpointsProtocol=https;AccountName=****;AccountKey=****" />
<add name="RingCloneDatabase" connectionString="Server=tcp:northtech.database.windows.net,1433;Database=****;User ID=****;Password=****;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" />
</connectionStrings>