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


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 может приводить к бесследной потере сообщений по ряду причин. Например, может закончиться свободное пространство в буфере. Если требуется гарантия доставки, следует использовать метод 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 может приводить к бесследной потере сообщений по ряду причин. Например, может закончиться свободное пространство в буфере. Если требуется гарантия доставки, следует использовать метод IOutputSessionChannel.

Передача сообщения в исходящий канал приводит к считыванию сообщения. После вызова метода Send невозможно проверить сообщение или вызвать для него метод Close.

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

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

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