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이 throw됩니다. 최대 메시지 크기는 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이 throw됩니다. 최대 메시지 크기는 MaxReceivedMessageSize 속성에서 설정됩니다. 기본값은 65536바이트입니다.

구현자 참고

지정된 TimeoutException이 초과된 경우 작업에서 timeout을 throw해야 합니다.

적용 대상