語言

IChannel 介面

定義

定義所有通道對象都必須實作的基本介面。 其需要實作所有通訊對象共用的狀態機器介面,並實作方法以從通道堆棧擷取物件。

public interface class IChannel : System::ServiceModel::ICommunicationObject
public interface IChannel : System.ServiceModel.ICommunicationObject
type IChannel = interface
    interface ICommunicationObject
Public Interface IChannel
Implements ICommunicationObject
衍生
實作

備註

Important

使用不受信任的資料呼叫實作此介面的類別的方法存在安全風險。 呼叫這些方法,從實作此介面的類別中呼叫,僅使用受信任的資料。 如需詳細資訊,請參閱 驗證所有輸入。

通道必須符合介面定義 ICommunicationObject 的狀態機合約。

介面 IChannel 會新增

GetProperty 介面的做法 ICommunicationObject 。 此方法提供一種機制,無論該屬性位於堆疊的哪個位置,都能從通道堆疊中擷取屬性。 方法名稱中的「屬性」一詞指的是屬於堆疊中某個通道的資訊片段。 該性質的 CLR 類型由 決定 T。 此方法也用於頻道工廠及頻道收聽器。

IChannel 由與基本訊息交換模式相關的每個通道介面繼承:

屬性

名稱 Description
State

取得通訊導向物件的目前狀態。

(繼承來源 ICommunicationObject)

方法

名稱 Description
Abort()

導致通訊物件立即從其目前狀態轉換成已關閉狀態。

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

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

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

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

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

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

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

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

(繼承來源 ICommunicationObject)
Close()

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

(繼承來源 ICommunicationObject)
Close(TimeSpan)

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

(繼承來源 ICommunicationObject)
EndClose(IAsyncResult)

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

(繼承來源 ICommunicationObject)
EndOpen(IAsyncResult)

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

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

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

Open()

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

(繼承來源 ICommunicationObject)
Open(TimeSpan)

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

(繼承來源 ICommunicationObject)

事件

名稱 Description
Closed

當通訊物件完成從關閉狀態轉換成關閉狀態時發生。

(繼承來源 ICommunicationObject)
Closing

當通訊物件第一次進入關閉狀態時發生。

(繼承來源 ICommunicationObject)
Faulted

當通訊物件第一次進入錯誤狀態時發生。

(繼承來源 ICommunicationObject)
Opened

當通訊物件完成從開啟狀態轉換成開啟狀態時發生。

(繼承來源 ICommunicationObject)
Opening

當通訊物件第一次進入開啟狀態時發生。

(繼承來源 ICommunicationObject)

適用於