2017-05-10 5 views
0

WebJobに以下のNuGetパッケージを追加すると:Microsoft.Azure.WebJobs.ServiceBus 2.0.0、 2つの新しい項目がapp.configファイルに追加されます。 サービスバスの接続文字列を定義するために使用されているようです。 そのうちの1つを取り除くことはできますか?Azure WebJobsとService Bus:同じ設定の2つの設定?

<connectionStrings> 
    <add name="AzureWebJobsServiceBus" connectionString="..." /> 
</connectionStrings> 

<appSettings> 
    <!-- Service Bus specific app setings for messaging connections --> 
    <add key="Microsoft.ServiceBus.ConnectionString" value="..." /> 
</appSettings> 

ありがとうございました!

+0

どのようにジョブホストを設定しますか? – Thomas

答えて

0

サービスバス接続文字列の定義に使用されているようです。そのうちの1つを取り除くことはできますか?

ソースコードServiceBusConfigurationによると、WebJobサービスバス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)Service Busのクライアントのインスタンスを作成したい場合は、あなたがのappSettingsに構成されたService Busの接続文字列を使用することができます。

//Use CloudConfigurationManager to read the connection string stored in appSettings 
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); 
var client = QueueClient.CreateFromConnectionString(connectionString, "queueName"); 
関連する問題