2008-09-05 103 views

回答

6

服務可能在單個主機中有多個端點,但每個端點都必須具有地址,綁定和合同的唯一組合。對於IIS託管的服務(即.SVC文件),只需將端點地址設置爲相對 URI並確保您的Visual Studio或wsdl.exe生成的客戶端在其構造函數中指定了端點的名稱。

另請參閱MSDN文章Multiple Endpoints

0

如果您當前使用IIS作爲主機,則需要創建一個新的主機 - IIS只支持HTTP而不支持TCP綁定。但是,如果您使用的是WAS或Windows服務,那麼您只需創建一個新的net.tcp端點即可脫身。

+1

我認爲II7確實支持非HTTP綁定(即TCP)。 – 2010-08-30 09:52:19

9

您可以在服務器或客戶端上定義多個端點。

要做到這一點在客戶端上,你只需要與一個不同名稱的新端點編輯您的app.config文件,那麼當你創建新的客戶定義。

例如,如果你有喜歡你的客戶端應用程序的端點:

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

你調用由:

YourServiceClient client = new YourServiceClient(); 

您可以用新的名稱添加一個新的端點

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

你可以打電話給:

YourServiceClient client = new YourServiceClient("BasicHttpBinding_IYourService_ENDPOINT2"); 

我只是改變了上述域名,但如果你犯了一個新的綁定配置部分,你可以只改變「bindingConfiguration」值。

相關問題