您的位置:知识库 » .NET技术

WCF分布式开发步步为赢(1):WCF分布式框架基础概念

作者: Frank Xu Lei  来源: 博客园  发布时间: 2009-03-18 13:24  阅读: 17985 次  推荐: 0   原文链接   [收藏]  
摘要:WCF分布式开发步步为赢文章讲解了WCF基础概念以及各个知识点
[1] WCF基础概念介绍
[2] WCF新的特性
[3] WCF服务框架模型
[4] 实现代码分析
[5] 总结

【4】实现代码分析

      上面介绍了WCF相关的一些基本概念、特性和框架模型,现在我们来具体实现一个WCF的应用实例。客户端和WCF服务通信的过程如图:

 

    客户端通过代理调用WCF服务,代理通过服务地址找到特定的服务,调用执行特定的服务方法。

    我们代码的演示部分也分为3个部分,首先是服务类(契约部分),其次是宿主(自己定义一个控制台程序),客户端(控制台)。

【4.1】契约(Contract)

定义实现的代码包括服务契约IWCFService、操作契约OperationContract、和数据契约DataContract。具体代码实现如下:

Code

 

【4.2】宿主(托管进程)

     WCFHost宿主进程托管服务WCFService,项目类型也为控制台应用程序(你也可以创建其他的项目类型)。这里要添加对WCFService类库的引用。托管采用反射方式动态创建服务的实例。具体代码如下:

Code

     这里值得注意的就是绑定协议要和配置文件里的设置一样,不然会出现编译错误或者运行时异常。编译结束会生成可执行文件EXE。

【4.3】客户端

     客户端要添加对以上服务的引用,如果你初次建立服务,配置不当很容易出现引用服务失败的问题,配置服务相关的错误和解决办法我也整理到WCF分布式开发常见错误解决里了,大家需要的话可以参考,是在遇到苦难可以留言给我一起交流。

   客户端的具体实现代码如下:

Code

     这里可以通过两种方式调用WCF服务,一种是自己编码实现客户端服务代理,要正确添加服务的地址。第二种是当客户端添加服务成功以后,VS2008集成开发工具会在客户端自动生成服务端的操作契约、服务契约等信息,当然包含客户端服务代理类,这个比较关键。具体方法就是在客户端项目右键添加服务应用。输入服务侦听的地址。查找到服务后添加引用会生成一系列服务引用的文件,如图:

【4.4】运行结果:

    首先要启动服务宿主进程WCFhost.如图:

   

   其次运行客户端,结果如图所示:

0
0
 
标签:WCF

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻