正所謂磨刀不誤砍柴工,雖然VS2008為我們提供了WCFServiceLibrary項目模板,但在實際開發的時候,我們通常更喜歡按照自己的方式來建立WCF項目,通常情況下,我們將服務契約(通常是接口)數據契約,消息契約等契約單獨作為一個項目,而將服務的實現作為另外一個項目,除此之外,還包括WCF服務的宿主程序,服務代理項目,客戶端程序.我按照這種方式,作了一個WCF解決方案的通用模板.項目列表如下:
項目名稱 說明 Wcf.Contracts 契約項目,用於定義服務契約,數據契約,錯誤契約,消息契約等 Wcf.ServiceLib 服務實現項目 Wcf.Host 一個Console的服務的宿主 Wcf.WebServiceHost 一個IIS宿主 Wcf.Proxys 服務代理項目 Wcf.Client 客戶端項目
在Console宿主中,有三種托管方式
適用於局域網的NetTcpBinding
和Xml Web Service相似的BasicHttpBinding
和WSE相似,且帶有回調支持的WsDualHttpBinding
並且指定了解決方案的起始項目為多個啟動項目為Wcf.Host 和 Wcf.Client,這更利於WCF項目的調試.
運行效果:
本文配套源碼