2017-05-10 1 views
0

Wenn ich meinem WebJob das folgende NuGet-Paket hinzufüge: Microsoft.Azure.WebJobs.ServiceBus 2.0.0, , werden der Datei app.config zwei neue Elemente hinzugefügt. Es scheint, dass beide verwendet werden, um die Service-Bus-Verbindungszeichenfolge zu definieren. Kann ich eines von ihnen loswerden?Azure WebJobs und Service Bus: 2 Einstellungen für die gleiche Sache?

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

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

Vielen Dank für Ihre Hilfe!

+0

Wie konfigurieren Sie Ihren Jobhost? – Thomas

Antwort

0

Es scheint, dass beide verwendet werden, um die Service Bus-Verbindungszeichenfolge zu definieren. Kann ich einen von ihnen loswerden?

Nach dem Quellcode ServiceBusConfiguration, WebJob Service Bus SDK (ServiceBusTrigger) wird die Verbindungszeichenfolge, die unter dem Abschnitt connection gespeichert ist.

public string ConnectionString 
{ 
    get 
    { 
     if (!_connectionStringSet) 
     { 
      _connectionString = AmbientConnectionStringProvider.Instance.GetConnectionString(ConnectionStringNames.ServiceBus); 
      _connectionStringSet = true; 
     } 
     return _connectionString; 
    } 
    set 
    { 
     _connectionString = value; 
     _connectionStringSet = true; 
    } 
} 

Sie können die Verbindungszeichenfolge auch zur Laufzeit festlegen.

JobHostConfiguration config = new JobHostConfiguration(); 
config.UseServiceBus(new ServiceBusConfiguration() { ConnectionString = "" }); 
JobHost host = new JobHost(config); 

Wenn Sie eine Instanz von Service Bus-Client erstellt werden soll (zum Beispiel QueueClient) einige spezifische Operationen zu tun, können Sie den Service Bus-Verbindungszeichenfolge in appSettings konfiguriert verwenden.

//Use CloudConfigurationManager to read the connection string stored in appSettings 
string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString"); 
var client = QueueClient.CreateFromConnectionString(connectionString, "queueName"); 
Verwandte Themen