Поделиться через


IOutputChannel.BeginSend Метод

Определение

Начинает асинхронную операцию отправки сообщения.

Перегрузки

BeginSend(Message, AsyncCallback, Object)

Начинает асинхронную операцию по передаче сообщения в пункт назначения исходящего канала.

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию по передаче сообщения в пункт назначения исходящего канала в течение заданного промежутка времени.

BeginSend(Message, AsyncCallback, Object)

Исходный код:
IOutputChannel.cs
Исходный код:
IOutputChannel.cs
Исходный код:
IOutputChannel.cs

Начинает асинхронную операцию по передаче сообщения в пункт назначения исходящего канала.

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

message
Message

Объект Message, передаваемый по исходящему каналу.

callback
AsyncCallback

Делегат AsyncCallback.

state
Object

Заданный приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией отправки.

Возвращаемое значение

Объект IAsyncResult, который ссылается на асинхронную передачу сообщения.

Примеры

В следующем примере кода показано, как реализовать этот метод.

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

Комментарии

Пункт назначения для сообщений, отправляемых по исходящему каналу, задается в момент создания канала.

Метод BeginSend не гарантирует доставку сообщения в конечную точку. Если требуется гарантия доставки, следует использовать метод IOutputSessionChannel.

Если размер отправляемого сообщения превышает максимальный допустимый привязкой размер, создается исключение QuotaExceededException. Максимальный размер сообщения задается свойством MaxReceivedMessageSize. Значение по умолчанию — 65 536 байт.

Применяется к

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Исходный код:
IOutputChannel.cs
Исходный код:
IOutputChannel.cs
Исходный код:
IOutputChannel.cs

Начинает асинхронную операцию по передаче сообщения в пункт назначения исходящего канала в течение заданного промежутка времени.

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Параметры

message
Message

Объект Message, передаваемый по исходящему каналу.

timeout
TimeSpan

Значение TimeSpan, указывающее время, выделенное для завершения операции отправки до истечения времени ожидания.

callback
AsyncCallback

Делегат AsyncCallback, принимающий уведомление о завершении асинхронной операции отправки.

state
Object

Заданный приложением объект, который содержит сведения о состоянии, связанные с асинхронной операцией отправки.

Возвращаемое значение

Объект IAsyncResult, который ссылается на асинхронную операцию отправки.

Примеры

В следующем примере кода показано, как реализовать этот метод.

public RequestContext EndReceiveRequest(IAsyncResult result)
{
    return ReceiveRequestAsyncResult.End(result);
}

Комментарии

Пункт назначения для сообщений, отправляемых по исходящему каналу, задается в момент создания канала.

Метод BeginSend не гарантирует доставку сообщения в конечную точку. Если требуется гарантия доставки, следует использовать метод IOutputSessionChannel.

Если размер отправляемого сообщения превышает максимальный допустимый привязкой размер, создается исключение QuotaExceededException. Максимальный размер сообщения задается свойством MaxReceivedMessageSize. Значение по умолчанию — 65 536 байт.

Примечания для тех, кто реализует этот метод

Операция создает исключение TimeoutException, если превышено указанное значение timeout.

Применяется к