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
Параметры
- 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
Параметры
- 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
.