IOutputChannel.BeginSend 方法

定义

开始一个发送消息的异步操作。

重载

BeginSend(Message, AsyncCallback, Object)

开始一个异步操作,向输出通道的目标传输一条消息。

BeginSend(Message, TimeSpan, AsyncCallback, Object)

开始一个异步操作,在指定时间间隔内向输出通道的目标传输消息。

BeginSend(Message, AsyncCallback, Object)

开始一个异步操作,向输出通道的目标传输一条消息。

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

引用异步消息传输的 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 属性设置。 默认值为 65536 个字节。

适用于

BeginSend(Message, TimeSpan, AsyncCallback, Object)

开始一个异步操作,在指定时间间隔内向输出通道的目标传输消息。

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

引用异步发送操作的 IAsyncResult

示例

下面的代码演示如何实现此方法:

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

注解

输出通道上发出的消息的目标是在通道创建时指定的。

BeginSend 方法不对到远程终结点的消息传递进行保证。 如果需要传递保证,则使用 IOutputSessionChannel

如果发送的消息大于使用的绑定所允许的最大消息大小,则将引发 QuotaExceededException。 最大消息大小由 MaxReceivedMessageSize 属性设置。 默认值为 65536 个字节。

实施者说明

如果超出指定的 TimeoutException,则操作应引发 timeout

适用于