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
- 衍生
- 實作
備註
重要
呼叫實作此介面之類別的方法時,若並用了不信任的資料,會造成安全性上的風險。 呼叫實作此介面之類別的方法時,請一律使用信任的資料。 如需詳細資訊,請參閱 驗證所有輸入。
通道必須滿足 ICommunicationObject 介面所定義之狀態機器的合約。
IChannel 介面會將
GetProperty 介面的 ICommunicationObject 方法。 這個方法會提供從通道堆疊擷取屬性的機制,不管這些屬性位於堆疊中的何處。 方法名稱中的「屬性」一詞指的是屬於堆疊內其中一個通道的資訊片段。 該屬性的 CLR 型別是由 T
所決定。 這個擷取方法也會在通道處理站和通道接聽程式上使用。
IChannel
會由與基本訊息交換模式相關聯的每個通道介面繼承:
用於接收訊息的 IInputChannel。
IOutputChannel 用於傳送訊息。
IRequestChannel 用於傳送要求。
用於傳送回覆的 IReplyChannel。
IDuplexChannel 表示雙向傳訊。
屬性
State |
取得通訊導向物件的目前狀態。 (繼承來源 ICommunicationObject) |
方法
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) |
事件
Closed |
當通訊物件從關閉中狀態轉換為已關閉狀態完成時發生。 (繼承來源 ICommunicationObject) |
Closing |
當通訊物件第一次進入關閉中狀態時發生。 (繼承來源 ICommunicationObject) |
Faulted |
當通訊物件第一次進入錯誤狀態時發生。 (繼承來源 ICommunicationObject) |
Opened |
當通訊物件從開啟中狀態轉換為已開啟狀態結束時發生。 (繼承來源 ICommunicationObject) |
Opening |
當通訊物件第一次進入開啟中狀態時發生。 (繼承來源 ICommunicationObject) |