论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> 技术资讯 >> IT正文
Vista新技术:WCF开发指南之客户端开发
 作者:佚名     2007-3-14 15:21:31        来源:不详  浏览次数:
  一. 客户端编程

  为了调用服务上的操作,客户端首先需要把服务合同导入到客户端的本地描述中。这意味着,该服务需要客户端暴露一个标准方法以检索它的元数据-这是通过让服务暴露一个元数据交换(MEX)端点来实现的。只要服务在宿主上注册至少一个TCP、HTTP或IPC基地址,那么,这个基于WCF的服务就能够自动地暴露一个MEX端点。

  如果客户端使用WCF,那么调用操作的普通方法是使用一个代理。这个代理是一个CLR类,它暴露单个描述服务合同的CLR接口。注意,如果该服务支持若干合同,那么客户端需要对于每一种合同类型都创建一个相应代理。代理负责提供与服务的合同相同的操作,而且还提供其它方法来管理代理的生命周期和到服务的连接。该代理完整地封装该服务的每一个方面:服务的位置,服务的实现技术及其运行时刻平台和通讯传输。

  你可以使用Visual Studio 2005来导入服务元数据并且生成一个代理。如果服务是自宿主的,那么首先要启动该服务,然后从客户端工程的上下文菜单中选择"Add Service Reference…"。如果服务宿主在IIS或WAS上,那么就不需要预启动该服务了。

  有趣的是,如果服务是自宿主在与客户端工程同一个方案中的另一个工程中,那么你可以在Visual Studio 2005中启动宿主并且仍然添加参考,因为不同于大多数工程设置,这个选项是无法禁止的(见图6)。这会导致调出"Add Service Reference"对话框,你需要在其中提供服务的基地址(或一个基地址和一个MEX URI)以及包含代理的命名空间。


图6.你可以使用Visual Studio 2005生成一个代理。

  Visual Studio 2005使用SvcUtil.exe命令行工具,并且你可以自己使用它。主要理由是,你可以使用SvcUtil开关所提供的众多的选项。为了直接使用SvcUtil,你可以提供给它MEX地址并且,作为选择,还可以提供一个代理文件名。默认的代理文件名是实现该服务的服务端类的名字。例如,当把服务MyService宿主在IIS中时,简单地运行下列命令行:

   SvcUtil http://localhost/MyService/MyService.svc /out:Proxy.cs

  借助于自宿主,你可以不受限于仅使用HTTP基地址。假定自宿主服务注册这些基地址:

http://localhost:8002
net.tcp://localhost:8003
net.pipe://localhost/MyPipe

  然后,启动宿主,则你可以使用任何下列命令之一来生成该代理:

SvcUtil http://localhost:8002/MEX /out:Proxy.cs
SvcUtil http://localhost:8002/ /out:Proxy.cs
SvcUtil net.tcp://localhost:8003/MEX /out:Proxy.cs
SvcUtil net.pipe://localhost/MyPipe /MEX/out:Proxy.cs


  该代理类没有对服务实现类的参考,而只参考服务暴露的合同。这个代理可以与一个提供地址和绑定的客户端配置文件一起使用,也可以在没有配置文件的情况下使用。注意,每一个代理实例都准确地指向一个端点,与之交互的端点在构造时刻提供给代理。

[1] [2] [3] 下一页  



责任编辑:lss
  相关新闻
TreeView 控件应用详解
2005年9月全国计算机等级考试二级Visual FoxPro笔试试
各种CISCO认证的简单介绍
CCDA认证-思科(CISCO)认证设计工程师问答
Cisco国际认证全国考试中心查询
Visual FoxPro 中的错误处理
Struts开发指南之Taglib的初步了解
CISCO认证证书有关问答
Cisco认证考试介绍
Cisco认证网络工程师介绍
TestKing 070-299 V14
TestKing 070-294 V28
TestKing 070-291 V49
TestKing 070-296 V45.1
TestKing 070-272 V13
TestKing 070-271 V14
2005年9月全国计算机等级考试二级Visual FoxPro笔试试
Oracle9i iSQL*PLUS的配置过程
CCDA认证-思科(CISCO)认证设计工程师问答
CISCO认证种类
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号