ChannelFactoryBase<TChannel> 類別

定義

提供用戶端上通道處理站的通用基底實作,以建立連接至指定之位址的特定型別通道。Provides a common base implementation for channel factories on the client to create channels of a specified type connected to a specified address.

generic <typename TChannel>
public ref class ChannelFactoryBase abstract : System::ServiceModel::Channels::ChannelFactoryBase, System::ServiceModel::Channels::IChannelFactory<TChannel>
public abstract class ChannelFactoryBase<TChannel> : System.ServiceModel.Channels.ChannelFactoryBase, System.ServiceModel.Channels.IChannelFactory<TChannel>
type ChannelFactoryBase<'Channel> = class
    inherit ChannelFactoryBase
    interface IChannelFactory<'Channel>
    interface IChannelFactory
    interface ICommunicationObject
Public MustInherit Class ChannelFactoryBase(Of TChannel)
Inherits ChannelFactoryBase
Implements IChannelFactory(Of TChannel)

類型參數

TChannel

處理站所產生之通道的型別。The type of channel the factory produces.

繼承
實作

備註

用戶端上由通道處理站所建立的通道會在伺服器上由通道接聽項所接受。The channels created by channel factories on the client are accepted on the server by channel listeners. 一旦用戶端與服務之間建立了通道連線之後,就可以交換訊息來進行通訊。Once the channel connection is established between client and service, they can communicate by exchanging messages.

CreateChannel 會使用指定的位址當做傳出訊息的目的地。The CreateChannel uses the specified address as the destination for outgoing messages. ServiceAddress.Uri 屬性會當做此訊息中的 To 標頭使用。The ServiceAddress.Uri property is used as the To header in the message. ServiceReference.Via 屬性會當做訊息傳送的實體目的地使用。The ServiceReference.Via property is used as the physical destination to send messages to. 這通常與 ServiceAddress.Uri 值相同。This is typically the same as the ServiceAddress.Uri value.

建構函式

ChannelFactoryBase<TChannel>()

初始化 ChannelFactoryBase<TChannel> 類別的新執行個體。Initializes a new instance of the ChannelFactoryBase<TChannel> class.

ChannelFactoryBase<TChannel>(IDefaultCommunicationTimeouts)

使用指定的預設通訊逾時,初始化 ChannelFactoryBase<TChannel> 類別的新執行個體。Initializes a new instance of the ChannelFactoryBase<TChannel> class with the default communication timeouts specified.

屬性

DefaultCloseTimeout

取得針對要完成之關閉作業所提供的預設時間間隔。Gets the default interval of time provided for a close operation to complete.

(繼承來源 ChannelFactoryBase)
DefaultOpenTimeout

取得針對要完成之開啟作業所提供的預設時間間隔。Gets the default interval of time provided for an open operation to complete.

(繼承來源 ChannelFactoryBase)
DefaultReceiveTimeout

取得針對要完成之接收作業所提供的預設時間間隔。Gets the default interval of time provided for a receive operation to complete.

(繼承來源 ChannelFactoryBase)
DefaultSendTimeout

取得針對要完成之傳送作業所提供的預設時間間隔。Gets the default interval of time provided for a send operation to complete.

(繼承來源 ChannelFactoryBase)
IsDisposed

取得值,這個值表示是否已經處置通訊物件。Gets a value that indicates whether the communication object has been disposed.

(繼承來源 CommunicationObject)
State

取得值,這個值表示通訊物件目前的狀態。Gets a value that indicates the current state of the communication object.

(繼承來源 CommunicationObject)
ThisLock

取得會在狀態轉換期間保護類別執行個體的互斥鎖定。Gets the mutually exclusive lock that protects the class instance during a state transition.

(繼承來源 CommunicationObject)

方法

Abort()

導致通訊物件立即從目前的狀態轉換為關閉狀態。Causes a communication object to transition immediately from its current state into the closing state.

(繼承來源 CommunicationObject)
BeginClose(AsyncCallback, Object)

開始非同步作業以關閉通訊物件。Begins an asynchronous operation to close a communication object.

(繼承來源 CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

開始非同步作業,關閉有已指定逾時的通訊物件。Begins an asynchronous operation to close a communication object with a specified timeout.

(繼承來源 CommunicationObject)
BeginOpen(AsyncCallback, Object)

開始非同步作業以開啟通訊物件。Begins an asynchronous operation to open a communication object.

(繼承來源 CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

開始非同步作業,開啟有已指定時間間隔的通訊物件。Begins an asynchronous operation to open a communication object within a specified interval of time.

(繼承來源 CommunicationObject)
Close()

導致通訊物件從目前的狀態轉換為已關閉狀態。Causes a communication object to transition from its current state into the closed state.

(繼承來源 CommunicationObject)
Close(TimeSpan)

在指定時間間隔內,讓通訊物件從目前的狀態轉換為已關閉狀態。Causes a communication object to transition from its current state into the closed state within a specified interval of time.

(繼承來源 CommunicationObject)
CreateChannel(EndpointAddress)

建立具有指定之端點位址的特定通道型別。Creates a particular type of channel with a specified endpoint address.

CreateChannel(EndpointAddress, Uri)

建立具有指定之傳輸和端點位址的特定通道型別。Creates a particular type of channel with specified transport and endpoint addresses.

EndClose(IAsyncResult)

完成非同步作業以關閉通訊物件。Completes an asynchronous operation to close a communication object.

(繼承來源 CommunicationObject)
EndOpen(IAsyncResult)

完成非同步作業以開啟通訊物件。Completes an asynchronous operation to open a communication object.

(繼承來源 CommunicationObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。Determines whether the specified object is equal to the current object.

(繼承來源 Object)
Fault()

導致通訊物件從目前的狀態轉換為錯誤狀態。Causes a communication object to transition from its current state into the faulted state.

(繼承來源 CommunicationObject)
GetCommunicationObjectType()

取得通訊物件的型別。Gets the type of communication object.

(繼承來源 CommunicationObject)
GetHashCode()

作為預設雜湊函數。Serves as the default hash function.

(繼承來源 Object)
GetProperty<T>()

從通道堆疊的適當層次中,傳回要求的型別物件 (如果有)。Returns a typed object requested, if present, from the appropriate layer in the channel stack.

(繼承來源 ChannelFactoryBase)
GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(繼承來源 Object)
OnAbort()

中止通道處理站所管理的每一個通道。Aborts each channel managed by the channel factory.

OnBeginClose(TimeSpan, AsyncCallback, Object)

開始非同步作業,在指定的時間間隔內關閉與通道處理站相關聯的所有通道。Begins an asynchronous operation to close all the channels associated with the channel factory within a specified interval of time.

OnBeginOpen(TimeSpan, AsyncCallback, Object)

在通訊物件上插入處理 (當它因為叫用非同步開啟作業而轉換到開啟狀態之後)。Inserts processing on a communication object after it transitions to the opening state due to the invocation of an asynchronous open operation.

(繼承來源 CommunicationObject)
OnClose(TimeSpan)

在指定的時間間隔內關閉與通道處理站相關聯的所有通道。Closes all the channels associated with the channel factory within a specified interval of time.

OnClosed()

在將通訊物件轉換為關閉狀態期間會叫用。Invoked during the transition of a communication object into the closing state.

(繼承來源 CommunicationObject)
OnClosing()

在將通訊物件轉換為關閉狀態期間會叫用。Invoked during the transition of a communication object into the closing state.

(繼承來源 CommunicationObject)
OnCreateChannel(EndpointAddress, Uri)

在衍生類別內實作時,提供建立通道時的擴充點。When implemented in a derived class, provides an extensibility point when creating channels.

OnEndClose(IAsyncResult)

完成非同步作業,在指定的時間間隔內關閉與通道處理站相關聯的所有通道。Completes an asynchronous operation to close all the channels associated with the channel factory within a specified interval of time.

OnEndOpen(IAsyncResult)

在開啟通訊物件時完成非同步作業。Completes an asynchronous operation on the open of a communication object.

(繼承來源 CommunicationObject)
OnFaulted()

在通訊物件上插入處理 (當它因為叫用同步錯誤作業而轉換到錯誤狀態之後)。Inserts processing on a communication object after it transitions to the faulted state due to the invocation of a synchronous fault operation.

(繼承來源 CommunicationObject)
OnOpen(TimeSpan)

在通訊物件上插入處理 (當它轉換到開啟狀態之後),此作業必須在指定的時間間隔內完成。Inserts processing on a communication object after it transitions into the opening state which must complete within a specified interval of time.

(繼承來源 CommunicationObject)
OnOpened()

在將通訊物件轉換至已開啟狀態期間會叫用。Invoked during the transition of a communication object into the opened state.

(繼承來源 CommunicationObject)
OnOpening()

在將通訊物件轉換至開啟狀態期間會叫用。Invoked during the transition of a communication object into the opening state.

(繼承來源 CommunicationObject)
Open()

導致通訊物件從已建立狀態轉換為已開啟狀態。Causes a communication object to transition from the created state into the opened state.

(繼承來源 CommunicationObject)
Open(TimeSpan)

在指定時間間隔內,讓通訊物件從已建立狀態轉換為已開啟狀態。Causes a communication object to transition from the created state into the opened state within a specified interval of time.

(繼承來源 CommunicationObject)
ThrowIfDisposed()

如果已處置通訊物件,則會擲回例外狀況。Throws an exception if the communication object is disposed.

(繼承來源 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通訊物件的 State 屬性並未設定為 Created 狀態,就會擲回例外狀況。Throws an exception if the communication object the State property is not set to the Created state.

(繼承來源 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通訊物件不是處於 Opened 狀態,就會擲回例外狀況。Throws an exception if the communication object is not in the Opened state.

(繼承來源 CommunicationObject)
ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(繼承來源 Object)
ValidateCreateChannel()

確認通道處理站已開啟,而且準備好要建立通道。Confirms that the channel factory is opened and ready to create channels.

事件

Closed

當通訊物件轉換至已關閉狀態時發生。Occurs when a communication object transitions into the closed state.

(繼承來源 CommunicationObject)
Closing

當通訊物件轉換至關閉狀態時就會發生。Occurs when a communication object transitions into the closing state.

(繼承來源 CommunicationObject)
Faulted

當通訊物件轉換至錯誤狀態時發生。Occurs when a communication object transitions into the faulted state.

(繼承來源 CommunicationObject)
Opened

當通訊物件轉換至已開啟狀態時發生。Occurs when a communication object transitions into the opened state.

(繼承來源 CommunicationObject)
Opening

當通訊物件轉換至開啟狀態時發生。Occurs when a communication object transitions into the opening state.

(繼承來源 CommunicationObject)

明確介面實作

IDefaultCommunicationTimeouts.CloseTimeout

取得通訊物件叫用之關閉方法逾時前所經過的時間間隔。Gets the interval of time after which the close method, invoked by a communication object, times out.

(繼承來源 ChannelManagerBase)
IDefaultCommunicationTimeouts.OpenTimeout

取得通訊物件叫用之開啟方法逾時前所經過的時間間隔。Gets the interval of time after which the open method, invoked by a communication object, times out.

(繼承來源 ChannelManagerBase)
IDefaultCommunicationTimeouts.ReceiveTimeout

取得通訊物件叫用之接收方法逾時前所經過的時間間隔。Gets the interval of time after which the receive method, invoked by a communication object, times out.

(繼承來源 ChannelManagerBase)
IDefaultCommunicationTimeouts.SendTimeout

取得通訊物件叫用之傳送方法逾時前所經過的時間間隔。Gets the interval of time after which the send method, invoked by a communication object, times out.

(繼承來源 ChannelManagerBase)

適用於