2013-06-01 10 views
3

我會寫一個WCF服務,並需要在構建該項目下面的情形幫助:如何結構的WCF項目

  1. 客戶端和服務將要共享數據合同組件 - >http://code-magazine.com/Article.aspx?quickid=0809101

  2. WCF反過來會調用多個服務來使用Automapper填充數據合同。

什麼是構建WCF項目的最佳實踐?以及如何在WCF項目中最好地連接automapper?

+0

問題在哪裏?你有什麼嘗試?你的問題是什麼?我們在說什麼語言? 請填寫此信息以獲得有用的回覆。 –

+0

羅恩 - 我已經更新了我的qn。關於「構建WCF」的大部分問題都有DAL層。在我的情況下,我要調用多個服務異步,以填充我的數據,我要使用Automapper。 – Faraaz

回答

9

我想構建這樣我的WCF的解決方案:

  • Contracts(類庫)

    包含所有的服務,運營,故障和數據合同。可在純.NET到.NET情景服務器和客戶端之間共享

  • Service implementation(類庫)

    包含實現服務的代碼,並在需要的任何支持/輔助方法來實現這一目標。沒有其他的。

  • Service host(s)(可選 - 可以的WinForms,控制檯應用程序,NT服務)

    包含用於調試/測試服務的主機上,或者也可能用於生產。

這基本上給了我服務器端的東西。

在客戶端:

  • Client proxies(類庫)

    我想包我的客戶代理到一個單獨的類庫,使他們可以通過多個實際的客戶端應用程序重複使用。這可以通過使用svcutil或「添加服務參考」並手動調整生成的可怕app.config,或通過使用ClientBase<T>ChannelFactory<T>結構手動實現客戶端代理(共享合同組件)來完成。

  • 1-n actual clients(任何類型的應用程序)

    通常只引用客戶機代理組件,或也許合同組件也一樣,如果它是被共享的。這可以是ASP.NET,WPF,Winforms,控制檯應用程序,其他服務 - 您的名稱。

那樣;我有一個很好的和乾淨的佈局,我一遍又一遍地使用它,我真的認爲這使我的代碼更清潔,更容易維護。

這是靈感來自Miguel Castro的Extreme WCF screen cast DotNet Rocks電視與卡爾富蘭克林 - 強烈推薦的屏幕演員!