注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

WCF的学习总结(七)  

2012-07-27 13:34:23|  分类: NET(C#) |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

WCF的学习总结(七)

 

去年的WCF的学习总结止步于SESSION,其实已经将MSMQ和异常控制都给解决了,记得好象正要更进一步的掌握背后的原理和内部机制时,由于一些现实的原因,没有深入下去,这次重新拾起来这个,目的就是更好的将WCF应用到实际项目的开发,并且从现在开始积极做好各种准备。

由于机器本身没有安装IIS和MSMQ队列,所以其后后几个工程就没敢放出来,主要是怕有错误误导别人。

WCF通过端点来通信,端点有三个关键,地址,绑定和契约,只要掌握好了这三项,基本上WCF的基本知识也就基本疏通了。但往往越是简单的东西,越是容易让人不好掌握,或者说不能真正的掌握好。

WCF的核心,仍然是通信,其实所谓分布式开发,也不就是各个机器间能进行有效的实时的通信么。

WCF通过信道栈和MESSAGE来实现通信,一个个基于http、tcp、msmq等通信的channel组成stack,Transport channel在Channel stack中一定是必须的。而且对Transport channel在整个channel stack的位置也有固定的要求:在Sender方的最后一个,Receiver方的第一个。所有的channel都实现一个Interface:System.ServiceModel.Channels.IChannel。WCF还定义了一个base class:ChannelBase。ChannelBase实现了一些Channel基本的功能,所以我们在自定义Channel的时候一般继承ChannelBase。

在WCF中,创建CHANNEL是通过管理器也就是channel factory来实现的,而接收方也可以叫做channel listen,他们一起共同组成了WCF的channel layer,而一般的开发人员是通过service layer与其进行通信的,而他们之间的接口就显得尤为重要,他是谁呢?就是前面说的Binding。

看一个小例子:

1: IChannelFactory<IRequestChannel> chananelFactory= binding.BuildChannelFactory<IRequestChannel>();

   2: IChannelListener<IReplyChannel> channelListener = binding.BuildChannelListener<IReplyChannel>(address);

知识需要灵活的掌握和发挥,但学习时,还是先从亦步亦趋开始,只要掌握好了基础,那么自由的想象和开发就都随你自己了。

从下章起,接着开始WCF的新的知识点。

努力要从今日始。筚路蓝缕,以启山林之秀。

  评论这张
 
阅读(679)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017