WCF信道工廠中接口功能解析
微軟公司開發(fā)的.NET Framework 3.5重要部件WCF,是一個功能非常強大的開發(fā)工具。在這里我們將要為大家詳細介紹一下有關(guān)WCF信道工廠的相關(guān)介紹,以此來加深大家對這方面的認識程度。
對于信道監(jiān)聽器,WCF定義了兩個接口:IChannelListener和IChnnelListener< TChannel>。與之相對地,WCF也為信道工廠定義了兩個接口:IChannelFactory和IChannelFactory< TChannel>。這兩個接口定義了WCF信道工廠最基本的功能和屬性,下面是這兩個接口的定義:
- public interface IChannelFactory : ICommunicationObject
- {
- // Methods
- T GetProperty< T>() where T : class;
- }
- public interface IChannelFactory< TChannel> :
IChannelFactory, ICommunicationObject- {
- // Methods
- TChannel CreateChannel(EndpointAddress to);
- TChannel CreateChannel(EndpointAddress to, Uri via);1: }
由于WCF信道工廠的目的就是單純的創(chuàng)建信道,所以IChannelFactory和IChannelFactory< TChannel>的定義顯得格外簡潔。兩個重載的CreateChannel方法通過目的終結(jié)點的地址(to),以及在手工尋址下不同于目的終結(jié)點地址的另一個地址,該地址是消息實際會被發(fā)送的地址(via)。關(guān)于To和Via可以參考第二章關(guān)于物理地址和邏輯地址的部分。 #t#
除了上面的兩個接口之外,WCF還定義分別是實現(xiàn)了它們的兩個抽象基類:ChannelFactoryBase和ChannelFactoryBase< TChannel>。ChannelFactoryBase繼承自所有信道管理器的基類:CnannelManagerBase,而ChannelManagerBase又繼承自CommunicationObject,實現(xiàn)ICommunicationObject接口定義的基本的狀態(tài)屬性和狀態(tài)轉(zhuǎn)換功能。并且實現(xiàn)了接口IChannelFactory和ICommunicationObject。而ChannelFactoryBase< TChannel>繼承自CnannelManagerBase,并且實現(xiàn)了接口:IChannelFactory< TChannel>, IChannelFactory和ICommunicationObject。一般地,范型類型TChannel為基于相應channel shape下客戶端信道類型,比如IOutputChannel、IRequestChannel和IDuplexChannel。ChannelFactoryBase和ChannelFactoryBase< TChannel>的簡單定義如下:
- public abstract class ChannelFactoryBase : ChannelManagerBase,
IChannelFactory, ICommunicationObject- {
- ......
- }
- public abstract class ChannelFactoryBase< TChannel> :
ChannelFactoryBase, IChannelFactory< TChannel>, IChannelFactory,
ICommunicationObject- {
- ......
- }
以上就是對WCF信道工廠的相關(guān)介紹。