2010-07-06 93 views
0

起初我對待他們作爲任何依賴使它們在構造函數的類消費服務:如何創建和管理wcf服務客戶端?

var serviceConsumer = new ServiceConsumer(new MailingServiceClient()) 

的問題是,一旦異常從服務拋出它進入故障狀態,也不會回覆對任何請求,所以重新初始化到期。

此外,由於生成的代理的配置方法被破壞(調用關閉而沒有檢查故障狀態)並且遇到了幾種方法,所以我開始熟悉wcf服務可能無法正確處理的事實克服:

  1. wrapping every call to every service.
  2. override the default IDisposable behavior of the scvutil.exe-generated class

因爲我不希望消費者代碼來創建服務客戶本人進行測試的原因,我的問題是:

  • 我該如何維護一個無故障的服務?

  • 我該如何使用依賴注入來測試性?

+0

這裏是第二個鏈接 http://blog.davidbarrett.net/archive/2007/11.aspx – AlonEl 2010-07-06 09:55:39

+0

當你搜索「WCF客戶端依賴注入」時應該有大量的點擊 - 只是谷歌或bing,並從那裏! – 2010-07-06 10:27:35

回答

0

找到了一個不錯的解決方案。

一個代理生成器,用於替換VS之一,並生成一個包含代理錯誤,超時和正確處理的默認代理的包裝器。

http://wcfproxygenerator.codeplex.com/

似乎是爲我工作的罰款。