WCF第一步

原创 2011年01月21日 13:19:00

本文是在看了金旭亮老师的WCF之后自己写的,更详细和深入的内容请参照金旭亮老师的博客。

本实例是两个控制台应用程序,服务器端提供一个返回Hello World的服务,客户端调用并打印。

 

1. 首先建立两个控制台应用程序,Hello Client 和 Hello Server(最好在同一项目解决方案中,方便管理),对他们两个项目都添加System.ServiceModel的引用。

2. 构造服务器端的服务,首先构造服务器端的契约,用一个接口来实现,代码如下。文件名为IHelloService.cs,ServiceContract和OperationContract以Attribute方式声明契约,契约对象和契约的操作。对于契约的理解请参考如下网址:

http://apps.hi.baidu.com/share/detail/15073039

 

然后在服务器端写一个实现契约的提供服务的类,此类的对象实现具体的服务,简单说就是当客户端请求服务时,服务对象被创建并提供服务,代码如下:

 

完成之后在服务器端的主函数中来创建服务对象,服务对象由服务宿主。每个服务宿主对象ServiceHost对应一个服务,当客户端发送请求指示,服务宿主创建服务对象。然后通过添加服务终结点监听端口,等待客户端请求。其中new BasicHttpBinding()表示创建一个基本绑定,绑定在WCF中定义了客户端如何同服务器端通信,比如传输协议,消息编码。代码如下:

 

3. 创建客户端对象,调用服务。将IHelloService.cs对象复制到HelloClient项目下,并在项目中引用HelloServer的命名空间,以使用IHelloService契约。客户端的所有代码如下:

 

客户端需要是一个服务代理对象来调用服务,服务代理对象由通道工厂ChannelFactory创建。通过服务代理类调用服务器端提供的服务。

 

再次声明本文是基本上按照金旭亮老师的教程来写的,如果大家想进一步了解,请访问金旭亮老师的blog。

 

具体源码从这里下载:

http://download.csdn.net/source/2995472

进入编程世界的第一步

这是一篇翻译的文章,原文地址:https://medium.freecodecamp.org/my-first-steps-into-the-world-of-software-development...
  • mogoweb
  • mogoweb
  • 2018年01月09日 17:00
  • 87

学习前端的第一步:HTML

test one 网站第一标题 导航链接一 导航链接二 导航链接...
  • SunnyCM
  • SunnyCM
  • 2016年09月10日 22:09
  • 298

Python开发之路第一步-安装

win8.1下安装Python 3.4教程,有需要的朋友可以看看
  • u012891571
  • u012891571
  • 2015年07月14日 10:23
  • 229

javascript第一步

简介 javascript是弱类型的面向对象语言(指的是在定位变量时不必声明变量类型)html和ccs设置后页面依然是个模型,javascript的引入让网页动起来、为页面增加了灵动 知识点...
  • baidu_37573266
  • baidu_37573266
  • 2017年02月25日 22:41
  • 62

迈出数据分析与机器学习的第一步

数据分析机器学习-牛刀小试数据分析太火爆,怎奈机器学习太难懂!随着人工智能的浪潮卷卷袭来,机器学习已经越来越火爆啦。数据分析与机器学习岗位可谓供不应求,但是入门的门槛也是蛮高的,究竟了机器学习太难学还...
  • tangyudi
  • tangyudi
  • 2017年04月07日 10:54
  • 1027

QT学习第一步 - 初步建立开发环境以及Hello

连微软都正式放弃更新MFC了,虽然不舍,但是也只能学会放弃MFC了。  由于以前欧洲的同事都是使用QT来开发各种各样的应用程序,并且也知道可以做成跨平台的应用。因此不妨也开始学习QT吧 1. QT...
  • EFM32
  • EFM32
  • 2017年11月08日 22:42
  • 168

WCF 入门教程一(动手新建第一个WCF程序并部署)

WCF的相关概念信息就不在此赘述了,网上一搜一大把。 现在让我们动手搭建我们的第一个wcf程序吧,具体流程如下: 1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序。 ...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2015年03月07日 20:15
  • 3965

创建一个简单的WCF

创建一个简单 易懂的WCF程序,
  • winter199
  • winter199
  • 2017年05月12日 14:43
  • 786

迈向微信小程序第一步

迈向微信小程序第一步产品定位及功能介绍微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。操作简便一个应用同时只能打开5个页面。为了保证使用的流畅,小...
  • u010982836
  • u010982836
  • 2016年12月05日 19:52
  • 159

Maven详细步骤

从maven的配置到创建一个maven项目完整流程
  • l_s_r
  • l_s_r
  • 2017年08月06日 20:07
  • 97
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WCF第一步
举报原因:
原因补充:

(最多只允许输入30个字)