IChannel 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義所有通道對象都必須實作的基本介面。 其需要實作所有通訊對象共用的狀態機器介面,並實作方法以從通道堆棧擷取物件。
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 由與基本訊息交換模式相關的每個通道介面繼承:
IInputChannel 用來接收訊息。
IOutputChannel 因為他會傳遞訊息。
IRequestChannel 因為寄送請求。
IReplyChannel 謝謝你回覆。
IDuplexChannel 用於雙向訊息傳遞。
屬性
| 名稱 | 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) |