2009-01-24 81 views
2

有沒有辦法在不使用codedom的情況下即時創建WCF代理對象?我的意思是在運行時。因此,可以說我有一個智能客戶端應用程序正在訪問WCF服務。 WCF服務的數據協定在客戶端運行時被改變。我想動態地創建一個新的代理對象來反映已更改的數據合同。創建動態代理對象

回答

4

你應該閱讀這篇文章:WCF the Manual Way… the Right Way

並着眼於使用ChannelFactory類。如果合同在飛行中發生變化,您將有很多反思來創建和調用成員,但我想不出有什麼理由您不應該這樣做。

0

我想出了一個解決方案,使用合同和端點接口的共享程序集。

所以項目將被

  1. 主機
  2. 聯繫&端點
  3. 客戶與代理

    公共類YourProxy:ClientBase {}

0

小心在飛行中做太多東西。即使使用反思,將您的客戶端/代理/服務/合同聯繫在一起可能變得太容易。

創建手動代理並將它們作爲參考添加到您的客戶端是一個奇妙的想法。