MsmqIntegrationBindingElement.BuildChannelListener<TChannel> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用提供的上下文生成通道侦听器。
public:
generic <typename TChannel>
where TChannel : class, System::ServiceModel::Channels::IChannel override System::ServiceModel::Channels::IChannelListener<TChannel> ^ BuildChannelListener(System::ServiceModel::Channels::BindingContext ^ context);
public override System.ServiceModel.Channels.IChannelListener<TChannel> BuildChannelListener<TChannel> (System.ServiceModel.Channels.BindingContext context) where TChannel : class, System.ServiceModel.Channels.IChannel;
override this.BuildChannelListener : System.ServiceModel.Channels.BindingContext -> System.ServiceModel.Channels.IChannelListener<'Channel (requires 'Channel : null and 'Channel :> System.ServiceModel.Channels.IChannel)> (requires 'Channel : null and 'Channel :> System.ServiceModel.Channels.IChannel)
Public Overrides Function BuildChannelListener(Of TChannel As {Class, IChannel}) (context As BindingContext) As IChannelListener(Of TChannel)
类型参数
- TChannel
通道的类型。
参数
- context
- BindingContext
用以生成通道侦听器的 BindingContext。
返回
可用于创建可从现有 MSMQ 应用程序接收消息的通道的 MSMQ 集成通道侦听器。
例外
上下文值为 null
。
TChannel
不为 IInputChannel
。
ExactlyOnce 为 true
,而 Durable 为 false
。
- 或 -
队列不可读。
- 或 -
ExactlyOnce 为 true
,而队列是非事务性的。
- 或 -
ExactlyOnce 为 false
,而队列是事务性的。
- 或 -
在 Windows Vista 中,ReceiveErrorHandling 设置为 Move,而队列名称中包含一个“;”。
- 或 -
在 Windows Vista 中,ExactlyOnce 设置为 true
,但是不能打开重试子队列。
- 或 -
ReceiveErrorHandling 设置为 Reject 或 Move,而平台是 Windows Vista。
- 或 -
MsmqAuthenticationMode 设置为 WindowsDomain,且 MSMQ 是在没有 Active Directory 集成的情况下安装的。
- 或 -
MsmqAuthenticationMode 为 None,而 MsmqProtectionLevel 不为 None。
- 或 -
MsmqAuthenticationMode 为 Certificate 或 WindowsDomain,而 MsmqProtectionLevel 为 None。
注解
通道侦听器在服务端创建,用于接收客户端通道发送的消息。 该服务必须先调用 IChannelListener.Open
,接着调用 IChannelListener.AcceptChannel
,以获取实际通道的引用。 然后,必须调用 IChannel.Open
来打开通道。 此时,该渠道就可用于检索消息了。