MsmqTransportBindingElement.BuildChannelFactory<TChannel> 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用提供的內容建置通道處理站。
public:
generic <typename TChannel>
override System::ServiceModel::Channels::IChannelFactory<TChannel> ^ BuildChannelFactory(System::ServiceModel::Channels::BindingContext ^ context);
public override System.ServiceModel.Channels.IChannelFactory<TChannel> BuildChannelFactory<TChannel> (System.ServiceModel.Channels.BindingContext context);
override this.BuildChannelFactory : System.ServiceModel.Channels.BindingContext -> System.ServiceModel.Channels.IChannelFactory<'Channel>
Public Overrides Function BuildChannelFactory(Of TChannel) (context As BindingContext) As IChannelFactory(Of TChannel)
類型參數
- TChannel
參數
- context
- BindingContext
用來建置通道處理站的 BindingContext。
傳回
可用來建立通道的訊息佇列 (MSMQ) 通道處理站,以便將訊息傳送到現有的訊息佇列應用程式。
例外狀況
內容值為 null。
TChannel 不是 IOutputChannel 或 IOutputSessionChannel。
ExactlyOnce 為 true,而 Durable 為 false。
-或-
UseActiveDirectory 為 true 而 QueueTransferProtocol 不是 Native。
-或-
CustomDeadLetterQueue 不是 null,而 DeadLetterQueue 不是 Custom。
-或-
DeadLetterQueue 在 Windows 2003/XP 上設定為 Custom。
-或-
ExactlyOnce 為 false,而 DeadLetterQueue 為 Custom。
-或-
CustomDeadLetterQueue 已設定,且沒有可寫入佇列的寫入權限或是佇列不存在。
-或-
CustomDeadLetterQueue 為非交易式佇列。
-或-
MsmqTransportSecurity.MsmqAuthenticationMode 已設為 WindowsDomain,且未使用 ActiveDirectory 整合安裝 MSMQ。
-或-
MsmqTransportSecurity.MsmqAuthenticationMode 為 None,而且 MsmqTransportSecurity.MsmqProtectionLevel 不是 None。
-或-
MsmqTransportSecurity.MsmqAuthenticationMode 為 Certificate,或者 WindowsDomain 和 MsmqTransportSecurity.MsmqProtectionLevel 為 None。
-或-
MsmqTransportSecurity.MsmqProtectionLevel 為 EncryptAndSign 而且 UseActiveDirectory 為 false。
範例
transportBindingElement.BuildChannelFactory<IOutputChannel>(context);
備註
會建立通道處理站,而且會使用繫結項目中已設定的屬性來加以初始化。 然後會使用初始化的通道處理站來建立輸出通道,這些通道可用來將訊息傳送到訊息佇列。