IOutputChannel.Send 方法

定義

在目前的輸出通道上傳送訊息。

多載

Send(Message)

將訊息傳送到輸出通道的目的端。

Send(Message, TimeSpan)

於指定的時間間隔內在目前的輸出通道上傳送訊息。

Send(Message)

來源:
IOutputChannel.cs
來源:
IOutputChannel.cs
來源:
IOutputChannel.cs

將訊息傳送到輸出通道的目的端。

public:
 void Send(System::ServiceModel::Channels::Message ^ message);
public void Send (System.ServiceModel.Channels.Message message);
abstract member Send : System.ServiceModel.Channels.Message -> unit
Public Sub Send (message As Message)

參數

message
Message

正在輸出通道上傳送的 Message

範例

下列程式碼說明如何實作這個方法:

public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

備註

在輸出通道上送出之訊息的目的端會在通道建立時指定。

Send 方法不保證會將訊息傳送到遠端端點。 IOutputChannel 的實作 (Implementation) 能夠以無訊息模式針對各種原因卸除訊息。 例如,可能沒有其他緩衝區空間。 如果需要傳遞保證,請使用 IOutputSessionChannel

將訊息傳遞給輸出通道會造成該訊息的取用。 當您呼叫 Send 之後,便無法再檢查此訊息,或針對此訊息呼叫 Close

適用於

Send(Message, TimeSpan)

來源:
IOutputChannel.cs
來源:
IOutputChannel.cs
來源:
IOutputChannel.cs

於指定的時間間隔內在目前的輸出通道上傳送訊息。

public:
 void Send(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public void Send (System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Send : System.ServiceModel.Channels.Message * TimeSpan -> unit
Public Sub Send (message As Message, timeout As TimeSpan)

參數

message
Message

正在輸出通道上傳送的 Message

timeout
TimeSpan

TimeSpan,指定必須在逾時前多久完成傳送作業。

範例

下列程式碼說明如何實作這個方法:

public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
    return TryReceiveRequestAsyncResult.End(result, out requestContext);
}

備註

在輸出通道上送出之訊息的目的端會在通道建立時指定。

Send 方法不保證會將訊息傳送到遠端端點。 IOutputChannel 的實作 (Implementation) 能夠以無訊息模式針對各種原因卸除訊息。 例如,可能沒有其他緩衝區空間。 如果需要傳遞保證,請使用 IOutputSessionChannel

將訊息傳遞給輸出通道會造成該訊息的取用。 當您呼叫 Send 之後,便無法再檢查此訊息,或針對此訊息呼叫 Close

給實施者的注意事項

如果超出了指定的 TimeoutException,則此作業應該擲回 timeout

適用於