共用方式為


MsmqTransportBindingElement.BuildChannelFactory<TChannel> 方法

定義

使用提供的內容建置通道處理站。

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

IOutputSessionChannelIOutputChannel 類別。

參數

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);

備註

會建立通道處理站,而且會使用繫結項目中已設定的屬性來加以初始化。 然後會使用初始化的通道處理站來建立輸出通道,這些通道可用來將訊息傳送到訊息佇列。

適用於