IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 시간 제한 및 연결된 상태 개체가 있는 비동기 메시지 도착 대기 작업을 시작합니다.
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
매개 변수
- 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에 대한 알림을 수신합니다. 채널에서 메시지를 사용할 수 있거나 시간 초과가 발생할 때까지 작업이 완료되지 않습니다.
구현자 참고
지정된 시간이 초과된 timeout
경우 시간 제한 예외가 아닌 작업이 반환 false
됩니다.