正所谓磨刀不误砍柴工,虽然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项目的调试.
运行效果:
本文配套源码
时间: 2024-11-02 08:48:52