2010-04-13 92 views
5

我正在構建一個使用WCF調用多個外部端點的應用程序。除URI之外,所有遠程端點都是相同的。我想將它們視爲一個池:通過配置添加和刪除端點,並讓應用程序理解要執行的操作。爲同一服務管理多個WCF端點

我原來的計劃是在app.config中定義一個結點,然後遍歷我的端點列表並更新client.Endpoint.Address以便指向正確的位置。不幸的是,該屬性是隻讀的,導致該計劃不可行。

我在這裏有點難住。有關我如何完成此任務的任何建議?

回答

0

您是否嘗試過一個單獨的名稱傳入客戶端構造函數?

  <endpoint address="http://localhost:18000/MyService.svc" 
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService" 
       contract="MyServiceReference.IMyService" name="BasicHttpBinding_IMyService" /> 
      <endpoint address="http://localhost:18001/MyService.svc" 
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService" 
       contract="MyServiceReference.IMyService" name="MyService_Secondary" /> 
      <endpoint address="http://localhost:18002/MyService.svc" 
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyService" 
       contract="MyServiceReference.IMyService" name="MyService_Tertiary" /> 
+0

創建服務端點我也認爲,這是我的備用位置,但似乎每一次我的另一臺服務器添加到池時需要更改代碼。 – Jacob 2010-04-13 20:03:28