2008-09-05 14 views

Antwort

6

Ein Dienst kann mehrere Endpunkte innerhalb eines einzelnen Hosts haben, aber jeder Endpunkt muss eine eindeutige Kombination aus Adresse, Bindung und Vertrag aufweisen. Stellen Sie für einen von IIS gehosteten Dienst (dh eine SVC-Datei) einfach die Adresse des Endpunkts auf relativ URI ein und stellen Sie sicher, dass Ihr von Visual Studio oder wsdl.exe generierter Client den Namen des Endpunkts in seinem Konstruktor angibt.

Siehe auch den MSDN-Artikel Multiple Endpoints.

0

Wenn Sie derzeit IIS als Host verwenden, müssen Sie einen vollständig neuen Host erstellen. IIS unterstützt nur HTTP- und nicht TCP-Bindungen. Wenn Sie jedoch WAS oder einen Windows-Dienst verwenden, können Sie einfach einen neuen net.tcp-Endpunkt erstellen.

+1

Ich denke, II7 unterstützt nicht-HTTP-Bindungen (d. H. TCP). –

9

Sie können mehrere Endpunkte entweder auf dem Server oder auf dem Client definieren.

Um dies auf dem Client zu tun, müssen Sie nur Ihre app.config-Datei mit einem neuen Endpunkt mit einem anderen Namen bearbeiten und dann definieren, wenn Sie Ihren neuen Client erstellen.

Zum Beispiel, wenn Sie einen Endpunkt in der Client-Anwendung wie haben:

<endpoint address="https://yourdomain.com/WCF/YourService.svc" 
     binding="basicHttpBinding" 
     bindingConfiguration="BasicHttpBinding_IYourService" 
     contract="MessagingService.IYourService" 
     name="BasicHttpBinding_IYourService" /> 

Welche Sie rufen nach:

:

YourServiceClient client = new YourServiceClient(); 

Sie einen neuen Endpunkt mit einem neuen Namen hinzufügen

<endpoint address="https://yourotherdomain.com/WCF/YourService.svc" 
     binding="basicHttpBinding" 
     bindingConfiguration="BasicHttpBinding_IYourService" 
     contract="MessagingService.IYourService" 
     name="BasicHttpBinding_IYourService_ENDPOINT2" /> 

Welche Sie anrufen können:

YourServiceClient client = new YourServiceClient("BasicHttpBinding_IYourService_ENDPOINT2"); 

Ich habe gerade die oben genannte Domäne geändert, aber wenn Sie einen neuen Bindungskonfigurationsabschnitt erstellt haben, könnten Sie einfach den Wert "bindingConfiguration" ändern.

Verwandte Themen