語言

ChannelFactoryBase 類別

定義

提供所有自定義通道處理站的通用基底實作。

public ref class ChannelFactoryBase abstract : System::ServiceModel::Channels::ChannelManagerBase, System::ServiceModel::Channels::IChannelFactory
public abstract class ChannelFactoryBase : System.ServiceModel.Channels.ChannelManagerBase, System.ServiceModel.Channels.IChannelFactory
type ChannelFactoryBase = class
    inherit ChannelManagerBase
    interface IChannelFactory
    interface ICommunicationObject
Public MustInherit Class ChannelFactoryBase
Inherits ChannelManagerBase
Implements IChannelFactory
繼承
衍生
實作

備註

使用這個基底類別來建立自訂通道工廠。

該 ChannelFactoryBase 類別源自該 ChannelManagerBase 類別,並實 IChannelFactory 作用於建立通道的介面。 這些方法處理參數驗證,然後委派給受保護、虛擬或抽象的方法,派生類別可以覆蓋這些方法。

每個受保護的虛擬方法都會自動與介面上 IChannelFactory 的其他方法(包括狀態轉移方法)同步。 這表示不需要額外的鎖定來確保物件在方法本體內處於一致狀態。

建構函式

名稱 Description
ChannelFactoryBase()

初始化 ChannelFactoryBase 類別的新執行個體。

ChannelFactoryBase(IDefaultCommunicationTimeouts)

初始化一個新的類別實例 ChannelFactoryBase ,並設定預設通訊逾時。

屬性

名稱 Description
DefaultCloseTimeout

取得預設的近距離操作完成時間間隔。

DefaultOpenTimeout

取得預設的開放操作完成時間間隔。

DefaultReceiveTimeout

取得接收操作完成的預設時間間隔。

DefaultSendTimeout

取得預設的傳送操作完成時間間隔。

IsDisposed

會得到一個值,表示通訊物件是否已被處置。

(繼承來源 CommunicationObject)
State

會得到一個表示通訊物件當前狀態的值。

(繼承來源 CommunicationObject)
ThisLock

取得互斥鎖,保護類別實例在狀態轉換期間。

(繼承來源 CommunicationObject)

方法

名稱 Description
Abort()

會使通訊物件立即從當前狀態轉換到關閉狀態。

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

開始異步操作以關閉通訊物件。

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

開始異步操作,以關閉具有指定逾時的通訊物件。

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

開始異步操作以開啟通訊物件。

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

開始異步操作,以在指定的時間間隔內開啟通訊物件。

(繼承來源 CommunicationObject)
Close()

使通訊物件從其目前狀態轉換成已關閉狀態。

(繼承來源 CommunicationObject)
Close(TimeSpan)

使通訊物件在指定時間間隔內從當前狀態轉換到封閉狀態。

(繼承來源 CommunicationObject)
EndClose(IAsyncResult)

完成異步操作以關閉通訊物件。

(繼承來源 CommunicationObject)
EndOpen(IAsyncResult)

完成異步操作以開啟通訊物件。

(繼承來源 CommunicationObject)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Fault()

會使通訊物件從當前狀態轉換到故障狀態。

(繼承來源 CommunicationObject)
GetCommunicationObjectType()

取得通訊對象的類型。

(繼承來源 CommunicationObject)
GetHashCode()

做為預設哈希函式。

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

回傳一個從通道堆疊中適當層請求的類型物件(若存在)。

GetType()

取得目前實例的 Type。

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
OnAbort()

在通訊物件因呼叫同步中止操作而轉換至關閉狀態後,插入處理程序。

OnBeginClose(TimeSpan, AsyncCallback, Object)

開始非同步操作,關閉工廠所創造的每條通道。

OnBeginOpen(TimeSpan, AsyncCallback, Object)

在通訊物件因呼叫非同步開啟操作而轉換至開啟狀態後,插入處理。

(繼承來源 CommunicationObject)
OnClose(TimeSpan)

在通訊物件轉換進入開啟狀態後插入處理,該狀態必須在指定時間內完成。

OnClosed()

在通訊物件轉換到關閉狀態時被呼叫。

(繼承來源 CommunicationObject)
OnClosing()

在通訊物件轉換到關閉狀態時被呼叫。

(繼承來源 CommunicationObject)
OnEndClose(IAsyncResult)

完成非同步操作,關閉工廠開啟的通道。

OnEndOpen(IAsyncResult)

完成對通訊物件開啟的非同步操作。

(繼承來源 CommunicationObject)
OnFaulted()

在通訊物件因呼叫同步故障操作而轉換到故障狀態後,插入處理程序。

(繼承來源 CommunicationObject)
OnOpen(TimeSpan)

在通訊物件轉換進入開啟狀態後插入處理,該狀態必須在指定時間內完成。

(繼承來源 CommunicationObject)
OnOpened()

在通訊物件轉換到開啟狀態時被呼叫。

(繼承來源 CommunicationObject)
OnOpening()

在通訊物件轉換到開啟狀態時被呼叫。

(繼承來源 CommunicationObject)
Open()

使通訊物件從已建立的狀態轉換成開啟的狀態。

(繼承來源 CommunicationObject)
Open(TimeSpan)

使通訊物件在指定的時間間隔內,從建立的狀態轉換成開啟的狀態。

(繼承來源 CommunicationObject)
ThrowIfDisposed()

若通訊物件被丟棄,則拋出例外。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrImmutable()

如果通訊物件 該 State 屬性未設定為 Created 狀態,則會拋出例外。

(繼承來源 CommunicationObject)
ThrowIfDisposedOrNotOpen()

如果通訊物件不在該 Opened 狀態,會拋出例外。

(繼承來源 CommunicationObject)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

事件

名稱 Description
Closed

當通訊物件轉換到封閉狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Closing

當通訊物件轉換到關閉狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Faulted

當通訊物件轉換到錯誤狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Opened

當通訊物件轉換進入開啟狀態時,會發生這種情況。

(繼承來源 CommunicationObject)
Opening

當通訊物件轉換到開啟狀態時,會發生這種情況。

(繼承來源 CommunicationObject)

明確介面實作

名稱 Description
IDefaultCommunicationTimeouts.CloseTimeout

取得通訊物件呼叫的接近方法逾時結束的時間區間。

(繼承來源 ChannelManagerBase)
IDefaultCommunicationTimeouts.OpenTimeout

取得一個時間間隔,當通訊物件呼叫開啟方法時,該方法會逾時結束。

(繼承來源 ChannelManagerBase)
IDefaultCommunicationTimeouts.ReceiveTimeout

取得接收方法在通訊物件呼叫後逾時的時間區間。

(繼承來源 ChannelManagerBase)
IDefaultCommunicationTimeouts.SendTimeout

取得通訊物件呼叫的 send 方法逾時結束的時間區間。

(繼承來源 ChannelManagerBase)

適用於