2012-05-05 27 views
4

我正處於應用程序設計的初始階段。將有以下幾點:SOA開發人員通常如何在Visual Studio中構建其Web服務(WCF)解決方案?

  • Web界面
  • Web服務
  • 利用其它預先存在的web服務

我是新來的窗口服務和SOA尤其是在Visual Studio中的上下文。

我的問題是,我將如何在Visual Studio中設置此解決方案?例如,我會

  • 將Web UI和服務調用放在同一個項目中,並將我的服務放在一個單獨的項目中,然後將所有上述內容放入解決方案中?

什麼是開始構建我的解決方案以便可以追溯和測試的最佳方法?

回答

8

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

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

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

服務主機(S)(可選 - 可以的WinForms,控制檯應用程序,NT服務)
包含用於調試/測試服務的主機上,或者也可能用於生產。

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

在客戶端:

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

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

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

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

相關問題