考虑以下代表WCF通道堆栈的图片:
alt text http://i.msdn.microsoft.com/ee672186.image001(en-us).jpg
我正在实现自己的频道,为此我已经实现了传输和编码层。现在我需要创建一个“协议通道”层,消息应该在编码层中创建之后和进入服务层之前传递。
我想我需要创建一个BindingElement,它实现了一些接口,然后将这些bindingElement添加到我的Binding中。但我能找到的所有文档都解释了如何实现传输和编码层......
有任何帮助吗? 感谢
答案 0 :(得分:0)
据我记忆,它几乎是一样的,这意味着你实现了你提到的BindingElement,并覆盖BuildChannelFactory / BuildChannelListener方法以返回自定义协议通道的工厂/监听器。
不同之处在于您将使用BindingContext。BuildInnerChannelFactory()和BuildInnerChannelListener()方法将自定义通道工厂/侦听器层叠在堆栈下方的那些上(如你的运输渠道)。
这有意义吗?