我正在設計一個C#/ .NET 3.5項目的架構,它將通過WCF在客戶端和服務器之間進行通信。這通常會詢問 - 應答系統,從而爲例,服務方法之一可能是這樣的:自動生成的代理是實現異步WCF客戶端的最佳方法嗎?
User GetUserByLastName(string lastName);
另外一個要求就是WCF客戶端方法需要被異步調用,使他們穿上」對UI的響應性產生不利影響,因爲這些方法在某些情況下可能需要很長時間才能執行。
我有一個根據Microsoft的文檔實現的概念證明,因此客戶端代理是使用Visual Studio中的「添加服務引用」對話框自動生成的,並且我選中包含異步方法的選項。
這適用於概念驗證,但我遇到過很多博客文章和其他強烈建議不要在大型項目中使用自動生成代理的參考文獻。其中幾個來源提供了替代手段,包括手動創建代理或使用反射動態創建代理,但這些解決方案似乎總是隻實現同步WCF調用。
一個自動生成的異步WCF客戶端代理涉及相當多的鍋爐代碼,我不願意爲每個服務和方法手動實現和維護。
所以我的問題是:
它是一個壞主意,使用自動生成的代理異步WCF服務,如果是這樣,有不涉及的鍋爐板代碼顯著人工維護一個很好的選擇?
關於你的觀點6,我還沒有看到一個例子說明了如何做到這一點,以便異步操作不涉及大量的代碼來實現單一服務方法所需的基礎結構。任何建議或參考? – newdayrising 2010-10-10 21:33:33
@ElectricDialect看看這裏:http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/3e581713-4986-48bd-97ee-1f63759187d4 – Aliostad 2010-10-10 22:06:00