다음을 통해 공유


IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) 메서드

정의

지정된 시간 제한이 있는 요청 메시지와 그에 연결된 상태 개체를 수신하기 위해 비동기 작업을 시작합니다.

public:
 IAsyncResult ^ BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginTryReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginTryReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

매개 변수

timeout
TimeSpan

제한 시간이 초과되어 TimeSpan가 반환되기 전에 요청 수신 작업이 완료되어야 하는 기간을 지정하는 false입니다.

callback
AsyncCallback

비동기 요청 수신 작업 완료에 대한 알림을 받는 AsyncCallback 대리자입니다.

state
Object

애플리케이션에 의해 지정되는 개체로, 비동기 요청 수신 작업과 연결된 상태 정보를 포함합니다.

반환

비동기 요청 수신 작업을 참조하는 IAsyncResult입니다.

예제

다음 코드에서는 이 메서드를 구현하는 방법을 보여 줍니다.

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

설명

대기하지 않고 애플리케이션 처리를 계속해야 하는 경우 비동기 BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) 메서드를 사용합니다. 요청 메시지에 응답하는 동안 또는 시간 제한 간격을 초과할 때까지 현재 스레드를 차단할 수 있는 경우 동기 TryReceiveRequest(TimeSpan, RequestContext) 메서드 중 하나를 사용합니다.

이 메서드는 콜백을 통해 해당 작업의 이벤트 처리기 ID에 대한 알림을 수신합니다. 채널에서 메시지를 사용할 수 있거나 시간 초과가 발생할 때까지 작업이 완료되지 않습니다.

구현자 참고

지정된 false이 초과된 경우 작업에서 timeout가 반환됩니다.

적용 대상