ChannelBase 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供自訂通道的基底實作。
public ref class ChannelBase abstract : System::ServiceModel::Channels::CommunicationObject, System::ServiceModel::Channels::IChannel, System::ServiceModel::IDefaultCommunicationTimeouts
public abstract class ChannelBase : System.ServiceModel.Channels.CommunicationObject, System.ServiceModel.Channels.IChannel, System.ServiceModel.IDefaultCommunicationTimeouts
type ChannelBase = class
inherit CommunicationObject
interface IChannel
interface ICommunicationObject
interface IDefaultCommunicationTimeouts
Public MustInherit Class ChannelBase
Inherits CommunicationObject
Implements IChannel, IDefaultCommunicationTimeouts
- 繼承
- 實作
備註
Important
從這個類別使用不受信任的數據呼叫方法構成安全性風險。 僅使用信任的數據呼叫來自這個類別的方法。 如需詳細資訊,請參閱 驗證所有輸入。
該 ChannelBase 類別提供介面的抽象基底類別實作 IChannel 。 同時也要求每個通道都與通道管理器相關聯。 請注意,唯一可用於建立 實 ChannelBase 例的建構子需要輸入 channelManager 參數。
狀態變更是透過繼承狀態 CommunicationObject 機實作來管理的。
它 ChannelBase 會從相關單位獲得預設的通訊逾時,針對開啟、關閉、發送和接收操作 ChannelManagerBase 。
他們 ChannelBase 也會幫你管理經理。 除了向管理器揭露參考外,基底類別也會在通道建立與銷毀時通知管理器。 但對經理的提及只有在頻道被摧毀前才有用。
即使你使用基底類別,仍必須提供開啟和關閉通道的行為。 這些方法的預設實作並未提供有用的資訊。
你也必須確保在實施頻道時覆蓋 GetProperty 該權限。
GetProperty 這是在頻道堆疊中傳遞資訊的絕佳方式,無需知道你下方有哪些頻道,或是你上方哪些頻道會執行查詢。 定義可查詢可用資訊的介面。 當你不認識 的 GetProperty型別參數時,請委派到堆疊中的下一個通道; null 若在堆疊底部建立新的傳輸通道,則返回。
建構函式
| 名稱 | Description |
|---|---|
| ChannelBase(ChannelManagerBase) |
初始化 ChannelBase 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| DefaultCloseTimeout |
取得預設的近距離操作完成時間間隔。 |
| DefaultOpenTimeout |
取得預設的開放操作完成時間間隔。 |
| DefaultReceiveTimeout |
取得接收操作完成的預設時間間隔。 |
| DefaultSendTimeout |
取得預設的傳送操作完成時間間隔。 |
| IsDisposed |
會得到一個值,表示通訊物件是否已被處置。 (繼承來源 CommunicationObject) |
| Manager |
取得與目前頻道相關聯的頻道管理器。 |
| State |
會得到一個表示通訊物件當前狀態的值。 (繼承來源 CommunicationObject) |
| ThisLock |
取得互斥鎖,保護類別實例在狀態轉換期間。 (繼承來源 CommunicationObject) |
方法
事件
| 名稱 | Description |
|---|---|
| Closed |
當通訊物件轉換到封閉狀態時,會發生這種情況。 (繼承來源 CommunicationObject) |
| Closing |
當通訊物件轉換到關閉狀態時,會發生這種情況。 (繼承來源 CommunicationObject) |
| Faulted |
當通訊物件轉換到錯誤狀態時,會發生這種情況。 (繼承來源 CommunicationObject) |
| Opened |
當通訊物件轉換進入開啟狀態時,會發生這種情況。 (繼承來源 CommunicationObject) |
| Opening |
當通訊物件轉換到開啟狀態時,會發生這種情況。 (繼承來源 CommunicationObject) |
明確介面實作
| 名稱 | Description |
|---|---|
| IDefaultCommunicationTimeouts.CloseTimeout |
取得通訊物件呼叫的接近方法逾時結束的時間區間。 |
| IDefaultCommunicationTimeouts.OpenTimeout |
取得一個時間間隔,當通訊物件呼叫開啟方法時,該方法會逾時結束。 |
| IDefaultCommunicationTimeouts.ReceiveTimeout |
取得接收方法在通訊物件呼叫後逾時的時間區間。 |
| IDefaultCommunicationTimeouts.SendTimeout |
取得通訊物件呼叫的 send 方法逾時結束的時間區間。 |