IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 메서드

정의

지정된 시간 제한 및 상태 개체가 연결된 비동기 메시지 도착 대기 작업을 시작합니다.

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

매개 변수

timeout
TimeSpan

TimeSpan 메시지를 사용할 수 있게 될 때까지 대기하는 시간 간격을 지정하는 형식입니다.

callback
AsyncCallback

AsyncCallback 비동기 작업 완료 알림을 받는 대리자입니다.

state
Object

비동기 작업과 관련된 상태 정보를 포함하는 애플리케이션에서 지정한 개체입니다.

반품

IAsyncResult 메시지가 도착할 때까지 기다리는 비동기 작업을 참조하는 값입니다.

예외

작업이 완료되기 전에 지정된 timeout 값이 초과됩니다.

지정된 시간 제한이 0보다 작습니다.

예제

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

public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}

설명

메시지가 도착할 때까지 기다리지 않고 애플리케이션 처리를 계속해야 하는 경우 비동 BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 기 메서드를 사용합니다. 메시지가 큐에 도착할 때까지 기다리는 동안 현재 스레드가 차단되는 것이 허용되는 경우 동기 WaitForMessage(TimeSpan) 메서드를 사용합니다. 스레드가 지정된 으로 차단됩니다 timeout.

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

구현자 참고

지정한 false 값이 초과되면 시간 제한 예외가 아니라 작업이 반환 timeout 됩니다.

적용 대상