wcf程序:简单的WCF程序



介绍:
这是个简单WCF举例举例是按照Artech(www.cnblogs.com/artech)讲解操作
举例演示了如何定义个简单服务、实现服务、创建个简单宿主(通过代码和配置文件)、如何手动创建个简单客户端

集描述:
* MyContract:Class Library Project
用来保存Contract(Service Contact、Message Contract、Data Contract)的所以把Contract独立出来原因是考虑到他同时被Server端——Service本身和Service Hosting和Client端使用现在很多参考书包括MSDN都使用ServiceModel Metadata Utility Tool (Svcutil.exe)这样个工具来访问ServiceMetadata Endpo来生成我们客户段代码这些代码就包括Service Contract(般是个Interface)实现了这个ContractProxy Class(个集成自.ServiceModel.CientBase个Class)和相应Configuration 这个工具确实给我提供了很大方便但我不推荐使用这样思路方法(我天生不倾向对于这些代码生成器)我觉得 在Contract可得情况下-比如Service和Client都是自己开发让Service和Client实现Contract是同个Contract能够保证致性
这个Project引用.ServiceModel .dll
* MyService: Class Library Project
Service业务逻辑
这个Project引用Contract.dll和.ServiceModel.dll
* Hosting: Console Application
用于以Self-Hosting方式Host Service
这个Project引用Contract.dll和Service.dll和.ServiceModel.dll
* HostingByIIS: Web Site Project
用于模拟如何把Service Host到IIS中
这个Project引用Contract.dll和Service.dll和.ServiceModel.dll
* Client: Console Application
用以模拟现实中Serviceclient
这个Project引用Contract.dll 和.ServiceModel.dll

创建个基本WCF步骤是:
1.定义服务
2.实现服务
3.创建宿主
1)创建个ServiceHost例子
2)将EndPo和Behaivor添加到ServiceHost例子里
3)编写ServiceHost例子事件处理器
4)打开ServiceHost例子
4.创建客户端
1)创建继承于ClientBase类和定义服务接口客户端代理类
2)通过ClientBase构造将EndPo应用到要创建客户端代理类对象上
3)实现定义服务接口中思路方法
4)在中直接客户端代理类对象上思路方法即可

ClientBase构造:
ClientBase:这个构造没有任何参数它用于Endpo信息全部存放于Config
ClientBase(InstanceContext callbackInstance):指定个Callback instance用于Service回调Client代码这用Deplex Communication
ClientBase( EndpoConfigurationName):指定个ID它标识configuration 文件中定义个Endpo这个思路方法在使用区别Endpo个Service情况下用到比较多
ClientBase(Binding Binding, EndpoAddress remoteAddress);显示指定Binding 和Address
ClientBase(InstanceContext callbackInstance, EndpoConfigurationName)
ClientBase( EndpoConfigurationName, EndpoAddress remoteAddress)
ClientBase( EndpoConfigurationName, remoteAddress)
ClientBase(InstanceContext callbackInstance, Binding Binding, EndpoAddress remoteAddress)
ClientBase(InstanceContext callbackInstance, EndpoConfigurationName, EndpoAddress remoteAddress)
ClientBase(InstanceContext callbackInstance, EndpoConfigurationName, remoteAddress)

例子下载地址 http://download.csdn.net/source/781223
Tags:  wcf程序

延伸阅读

最新评论

发表评论