成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼分析WCF通道監(jiān)聽器原理

開發(fā) 后端
這里就WCF通道監(jiān)聽器做出了實例分析,還對協(xié)議通道的ChannelListener做出了詳細的介紹,希望對大家有幫助。

隨著時代的發(fā)展,WCF是比較常用的技術(shù)之一,于是我研究了一下關(guān)于WCF通道監(jiān)聽器,在這里拿出來和大家分享一下,希望對大家有用。之前我們也曾經(jīng)講過通道和監(jiān)聽器的關(guān)系。下面,我們再來回顧一下它們的關(guān)系。我們可以看到,ChannelListeners是非常有趣的家伙。在本例中,在程序中的每一個通道有一個ChannelListener。在這里我將指出每一個ChannelListener的差異。為了簡單起見,我們只看一下協(xié)議通道的ChannelListener。

首先,ChannelListener從 ChannelListenerBase類繼承。我們可以看到,泛型,作為.NET2.0框架的一個新特性,在WCF中被ChannelListener 和其它的類大量的使用。如果這些語法對于讀者很陌生,我們可以從這個URL中獲得有用的信息:http://msdn2.microsoft.com/en-us/library/ms379564(VS.80).aspx。下面是ChannelListener類的聲明:

  1. class TestTransportChannelListener : ChannelListenerBase<IInputChannel>   
  2. { private Uri _uri; private EndpointAddress _localAddress;   
  3. public TestTransportChannelListener(TestTransportBindingElement transportElement, BindingContext context) :   
  4. base(context.Binding) { BigHelper.DisplayMessage("Construct " + this.ToString());  
  5. _uri = new Uri(context.ListenUriBaseAddress, context.ListenUriRelativeAddress);  
  6. _localAddress = transportElement.LocalAddress; } 

#T#從上面的代碼可以看出,在構(gòu)造方法的第一個參數(shù)負責建立ChannelListener。我們將在后面的部分看到更多的BindingElement的內(nèi)容。我們可能注意到ChannelListener所存儲的WCF通道監(jiān)聽器只存在于通道棧的底層。我們將本文后面的內(nèi)容學習到更多這方面的知識。前面講過,ChannelListener負責建立通道。在OnAcceptChannel事件發(fā)生時接收通道指令。在這個例子中,OnAcceptChannel方法被其中一個協(xié)議通道實現(xiàn),WCF通道監(jiān)聽器代碼如下:

  1. protected override IInputChannel OnAcceptChannel(TimeSpan timeout)  
  2. {  
  3. EndpointAddress address = new EndpointAddress(BigHelper.Uri);  
  4. _innerChannel = _innerChannelListener.AcceptChannel(timeout);  
  5. TestLevel2Channel channel = new TestLevel2Channel(this, address);  
  6. return channel;  

在上面的OnAcceptChannel中可以看出,_innerChannelListener是一個在ChannelStack中比較底層的ChannelListener。這個ChannelListener保存了從當前監(jiān)聽器的底層到上層的通道。這個保存被監(jiān)聽器返回的通道的過程從底至一直延續(xù)到上層,然后,應(yīng)用程序獲得了棧頂?shù)囊粋€引用。由于傳輸通道是最底層的通道,因此,在代碼中,傳輸通道簡單地建立了一個Message對象。GetProperty方法允許WCF的其他層使用通道棧。在本文的下面部分將討論GetProperty方法的使用。

責任編輯:田樹 來源: 博客
相關(guān)推薦

2010-02-22 15:06:31

WCF信道監(jiān)聽器

2009-09-27 17:46:22

Hibernate監(jiān)聽

2011-03-21 16:21:49

Oracle監(jiān)聽口令監(jiān)聽器

2009-07-08 17:39:23

Servlet監(jiān)聽器

2009-11-06 09:22:46

WCF應(yīng)用

2011-05-16 10:14:11

Hibernate

2010-01-13 09:49:09

注釋監(jiān)聽器Listener

2011-06-01 14:55:24

Android Service 監(jiān)聽器

2010-04-23 18:00:31

2009-07-06 13:48:53

Servlet監(jiān)聽器

2009-01-03 13:37:26

Oracle監(jiān)聽器Oracle服務(wù)器Oracle網(wǎng)絡(luò)配置

2023-01-06 08:55:00

2009-11-18 18:28:27

Oracle監(jiān)聽器

2009-11-09 09:41:25

WCF通道

2012-02-03 13:27:16

2010-08-09 11:06:01

Flex事件機制

2010-04-19 15:38:10

2010-04-23 10:13:18

Oracle監(jiān)聽

2009-12-08 13:06:15

WCF通道

2020-04-20 11:09:49

過濾器監(jiān)聽器 Web
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲欧美日韩高清 | 一区二区三区四区国产 | 国产免费一区 | 婷婷综合久久 | 日本久久精品视频 | 91pao对白在线播放 | 不卡一区| 欧美成人免费 | 国产高清精品一区二区三区 | 久久久久久综合 | 免费观看黄色片视频 | 日本午夜精品一区二区三区 | 日本亚洲欧美 | 亚洲第一福利网 | 欧美精品在线播放 | 欧美黄页 | 欧美精品中文字幕久久二区 | 日韩成人一区 | 中文字幕人成乱码在线观看 | 色婷婷亚洲国产女人的天堂 | 国产亚洲一区二区三区 | 97精品国产| 羞视频在线观看 | 拍真实国产伦偷精品 | 国产精品福利在线观看 | 亚洲天堂中文字幕 | 91不卡 | 日韩在线中文字幕 | 91精品一区 | 九久久 | 亚洲美女一区 | 成人国产精品一级毛片视频毛片 | 日韩av电影院 | 91精品国产综合久久精品 | 久久久网 | 1204国产成人精品视频 | 日韩中文字幕视频 | 精品九九| 一区二区三区韩国 | 福利片在线观看 | 一级视频黄色 |