語言

IInputChannel 介面

定義

定義通道必須實作才能接收訊息的介面。

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

備註

Important

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

合約 IInputChannel 包含同步與非同步的接收、嘗試接收及等待訊息功能。

拉取模式通常 IInputChannel 用於接收訊息:你先撥打 Receive (以「拉取」訊息離開頻道),然後等待訊息抵達。 另一種用法是先呼叫 BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 或 BeginWaitForMessage(TimeSpan, AsyncCallback, Object),然後呼叫 Receive(TimeSpan)。 這種方法常見於交易型使用,即在呼叫 和 Receive之間開始交易WaitForMessage(TimeSpan)。

An IInputChannel 不一定綁定於單一寄件者。 其他通道和通道介面可以在特定發送 IInputChannel端與 之間提供相關性,但基礎合約並未對此做這種限制。 實作可以為每個訊息建立新的 IInputChannel ,或重複使用同一 IInputChannel 訊息用於多個訊息與發送者。

屬性

名稱 Description
LocalAddress

取得輸入通道接收訊息的位址。

State

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

(繼承來源 ICommunicationObject)

方法

名稱 Description
Abort()

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

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

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

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

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

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

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

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

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

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

開始非同步操作以接收帶有狀態物件的訊息。

BeginReceive(TimeSpan, AsyncCallback, Object)

開始非同步操作,接收帶有指定逾時及狀態物件的訊息。

BeginTryReceive(TimeSpan, AsyncCallback, Object)

開始非同步操作,接收帶有指定逾時及狀態物件的訊息。

BeginWaitForMessage(TimeSpan, AsyncCallback, Object)

開始一個非同步等待訊息到達的操作,該操作包含指定的逾時及狀態物件。

Close()

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

(繼承來源 ICommunicationObject)
Close(TimeSpan)

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

(繼承來源 ICommunicationObject)
EndClose(IAsyncResult)

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

(繼承來源 ICommunicationObject)
EndOpen(IAsyncResult)

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

(繼承來源 ICommunicationObject)
EndReceive(IAsyncResult)

完成非同步操作以接收訊息。

EndTryReceive(IAsyncResult, Message)

完成指定的非同步操作以接收訊息。

EndWaitForMessage(IAsyncResult)

完成指定的非同步訊息等待操作。

GetProperty<T>()

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

(繼承來源 IChannel)
Open()

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

(繼承來源 ICommunicationObject)
Open(TimeSpan)

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

(繼承來源 ICommunicationObject)
Receive()

如果有訊息可用,會回傳收到的訊息。 若訊息無法取得,則會封鎖預設的時間間隔。

Receive(TimeSpan)

如果有訊息可用,會回傳收到的訊息。 若訊息無法取得,則封鎖指定時間間隔。

TryReceive(TimeSpan, Message)

嘗試在指定時間間隔內接收訊息。

WaitForMessage(TimeSpan)

回傳一個值,表示訊息是否在指定時間內抵達。

事件

名稱 Description
Closed

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

(繼承來源 ICommunicationObject)
Closing

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

(繼承來源 ICommunicationObject)
Faulted

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

(繼承來源 ICommunicationObject)
Opened

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

(繼承來源 ICommunicationObject)
Opening

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

(繼承來源 ICommunicationObject)

適用於