Azure WebJobs 和服务总线:同一事物的 2 个设置?
Azure WebJobs and Service Bus : 2 settings for the same thing?
当我将以下 NuGet 包添加到我的 WebJob 时:Microsoft.Azure.WebJobs.ServiceBus 2.0.0
,
app.config
文件中添加了两个新项目。
似乎它们都用于定义服务总线连接字符串。
我可以摆脱其中之一吗?
<connectionStrings>
<add name="AzureWebJobsServiceBus" connectionString="..." />
</connectionStrings>
<appSettings>
<!-- Service Bus specific app setings for messaging connections -->
<add key="Microsoft.ServiceBus.ConnectionString" value="..." />
</appSettings>
感谢您的帮助!
It seems they are both used to define the Service Bus connection string. Can I get rid of one of them?
根据ServiceBusConfiguration的源代码,WebJob Service Bus SDK(ServiceBusTrigger)将使用存储在connectionStrings部分下的连接字符串。
public string ConnectionString
{
get
{
if (!_connectionStringSet)
{
_connectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.ServiceBus);
_connectionStringSet = true;
}
return _connectionString;
}
set
{
_connectionString = value;
_connectionStringSet = true;
}
}
您还可以在运行时设置连接字符串。
JobHostConfiguration config = new JobHostConfiguration();
config.UseServiceBus(new ServiceBusConfiguration() { ConnectionString = "" });
JobHost host = new JobHost(config);
如果您想创建服务总线客户端实例(例如 QueueClient)来执行某些特定操作,您可以使用在 appSettings 中配置的服务总线连接字符串。
//Use CloudConfigurationManager to read the connection string stored in appSettings
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
var client = QueueClient.CreateFromConnectionString(connectionString, "queueName");
当我将以下 NuGet 包添加到我的 WebJob 时:Microsoft.Azure.WebJobs.ServiceBus 2.0.0
,
app.config
文件中添加了两个新项目。
似乎它们都用于定义服务总线连接字符串。
我可以摆脱其中之一吗?
<connectionStrings>
<add name="AzureWebJobsServiceBus" connectionString="..." />
</connectionStrings>
<appSettings>
<!-- Service Bus specific app setings for messaging connections -->
<add key="Microsoft.ServiceBus.ConnectionString" value="..." />
</appSettings>
感谢您的帮助!
It seems they are both used to define the Service Bus connection string. Can I get rid of one of them?
根据ServiceBusConfiguration的源代码,WebJob Service Bus SDK(ServiceBusTrigger)将使用存储在connectionStrings部分下的连接字符串。
public string ConnectionString
{
get
{
if (!_connectionStringSet)
{
_connectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.ServiceBus);
_connectionStringSet = true;
}
return _connectionString;
}
set
{
_connectionString = value;
_connectionStringSet = true;
}
}
您还可以在运行时设置连接字符串。
JobHostConfiguration config = new JobHostConfiguration();
config.UseServiceBus(new ServiceBusConfiguration() { ConnectionString = "" });
JobHost host = new JobHost(config);
如果您想创建服务总线客户端实例(例如 QueueClient)来执行某些特定操作,您可以使用在 appSettings 中配置的服务总线连接字符串。
//Use CloudConfigurationManager to read the connection string stored in appSettings
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
var client = QueueClient.CreateFromConnectionString(connectionString, "queueName");