Dot-Net
一個服務可以有多個端點嗎?
我們有一項服務,它的某些設置僅在 net.tcp 上受支持。添加另一個端點的最佳方法是什麼?我需要創建一個全新的主機嗎?
一個服務在單個主機中可能有多個端點,但每個端點都必須具有地址、綁定和契約的唯一組合。對於 IIS 託管服務(即 .SVC 文件),只需將終結點的地址設置為相對URI,並確保您的 Visual Studio 或 wsdl.exe 生成的客戶端在其建構子中指定終結點的名稱。
另請參閱 MSDN 文章*Multiple Endpoints*。
您可以在伺服器或客戶端上定義多個端點。
要在客戶端上執行此操作,您只需使用具有不同名稱的新端點編輯 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”值。