Azure WebJob存储连接

时间:2017-06-24 13:17:19

标签: .net azure connection-string azure-storage

我在App.config中为Azure WebJob提供了这些连接字符串

<add name="AzureWebJobsDashboard" connectionString="UseDevelopmentStorage=true"/>
<add name="AzureWebJobsStorage" connectionString="UseDevelopmentStorage=true"/>

因为我希望它为开发人员默认使用Azure存储模拟器。但是,当在Azure上使用这些WebJobs时,尽管我在Azure门户界面中设置了这些连接字符串,但它们似乎仍然指向本地存储:

Azure Portal Application Settings Connection Strings

我推断它仍指向本地存储,因为我收到此错误:

  

Microsoft.WindowsAzure.Storage.StorageException:无法连接到远程服务器---&gt; System.Net.WebException:无法连接到远程服务器---&gt; System.Net.Sockets.SocketException:尝试以其访问权限127.0.0.1:10001禁止的方式访问套接字      在System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddress socketAddress)      at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure,Socket s4,Socket s6,Socket&amp; socket,IPAddress&amp; address,ConnectSocketState state,IAsyncResult asyncResult,Exception&amp; exception)

在我们尝试连接到Azure存储的第一点的日志记录中。

我错过了什么吗?我是否为WebJobs正确设置了连接字符串?如何为开发人员将它们设置为默认为本地存储,但是为Azure中运行的应用程序提供了真正的连接字符串?

1 个答案:

答案 0 :(得分:3)

首先,我确信Azure门户中的配置优先于web.config / app.config中的配置。

根据您上传的图片,我看到您为Azure存储连接字符串选择了Event Hub和SQL Database类型。如果为Azure存储连接字符串选择事件中心类型,则会出现一些问题,请将连接类型更改为自定义以解决此问题。

enter image description here

您可以在WebJob中打印出连接字符串以进行确认。

var host = new JobHost(config);

Console.WriteLine(config.DashboardConnectionString);
Console.WriteLine(config.StorageConnectionString);