silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

本节小讲通讯方式,上两节的我们讲的BasichttpBinding,是其中的一种基础的通讯方式, 还有一种双向通讯的,专业词汇叫“双工通讯”,不过双工通讯一听起来太以理解, 就好像那个特性“契约”,一听就感觉像卖身契一样让人觉得匪夷所思。 下面全用双向代替双工说话了。 说双向通讯好理解了吧,再简单说就是:客户端可以调用服务端的方法;服务端也可以调用客户端的方法。 对于通讯方式,上两节,我们都是用:
本节小讲通讯方式,上两节的我们讲的BasichttpBinding,是其中的一种基础的通讯方式,

还有一种双向通讯的,专业词汇叫“双工通讯”,不过双工通讯一听起来太以理解,@H_674_20@

就好像那个特性“契约”,一听就感觉像卖身契一样让人觉得匪夷所思。@H_674_20@

下面全用双向代替双工说话了。@H_674_20@

说双向通讯好理解了吧,再简单说就是:客户端可以调用服务端的方法;服务端也可以调用客户端的方法。@H_674_20@

对于通讯方式,上两节,我们都是用:BasichttpBinding,除了这个,还说过还有N种的。@H_674_20@

 @H_674_20@

为了说明有多少种,我们这里顺便一个工具,在以下路径:@H_674_20@

开始->所有程序->Microsoft Visual studio 2010->Microsoft Windows SDK Tools->服务配置编辑器@H_674_20@

我们可以通过它来打开WCF相关的config文件。不过呢,每次指定路径打开,都是很烦的,@H_674_20@

我们希望通过右键点击xxx.config之类的,再用这工具打开它。@H_674_20@

OK,我们先Copy一下服务配置编辑器的路径,这个待会要粘贴,看以下图:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

我们点击属性,并从弹出的快捷方式中复制Exe的路径:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

复制好路径后,我们回到项目中,这里就以上个示例World为例了,对着serviceReferences.CLIENtConfig右键,@H_674_20@

当然你也可以选择web.config,然后选择打开方式:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

出现弹出窗口后,选择添加,把路径粘贴进去,并起一个名称,如下图:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

点确定之后,打开方式就多了一项了,当然,你也可以把它设置为认打开方式。@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

OK,现在我们通过刚添加的那项打开配置文件:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

看到终结点那项没,用的就是BasichttpBinding通讯,我们点击下拉,看看一共有多少个通讯方式:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@

数了一下,竟然有19个之多。根据不同的场合,使用不同通讯方式进行通讯,@H_674_20@

简单的说就是:WCF不仅可以放在我们的web中通过IIS来访问,也可以寄放在winform程序中通过tcp方式进行通讯了。@H_674_20@

当然还有N(19)种这么多,应用场合是五花八门了。@H_674_20@

通过上面的工具,你可以轻松点的配置webconfig相关文件,不用看那xml还得一字一字的敲打了。@H_674_20@

 @H_674_20@

关于双向通讯,BasichttpBinding能做到么?@H_674_20@

我尝试弄了一下,编绎是通过了,不过在更新服务引用的时候,出现以下错误:@H_674_20@

Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)@H_674_20@@H_674_20@@H_674_20@

按照上面的提示,是究竟不支持,还是配置的不正确,这个暂时不得而知。@H_674_20@

 @H_674_20@

那我们是通过什么来进行双向通讯的呢?@H_674_20@

wsDualhttpBinding这个,需要配置两个通讯端口,一个是服务端到客户端的,一个是客户端到服务端的。@H_674_20@

关于这个,在WCF揭密这本书中,其中的那个发布/订阅示例,用的就这个:@H_674_20@

CSDN里有一个免积分下点的[搜索名称后,鄱到第4页,过些时间又跑第5第6页也说不定了]:下载列表 @H_674_20@

 @H_674_20@

关于双向通讯,官方提供了N种可以双向的,不过今天要用到的,@H_674_20@

是pollingDuplexhttpBinding,一个扩展的轮询机制的双向通讯,当你也可以尝试用上面的通讯方式去试一试。@H_674_20@

既然是扩展,就说明认没有,那我们首先就要添加扩展了,用的是认官方是提供的DLL,就在我们安装的Silverlight4的目录里:@H_674_20@

正常路径为:C:\Program Files\Microsoft SDKs\Silverlight\v4.0\Libraries\Server\System.serviceModel.PollingDuplex.dll@H_674_20@

 @H_674_20@

 OK,下一节,我们同样新建一个项目来实现双向通讯。@H_674_20@

大佬总结

以上是大佬教程为你收集整理的Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)全部内容,希望文章能够帮你解决Silverlight+WCF 新手实例 象棋 WCF通讯方式(十六)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。