IReplyChannel.WaitForRequest(TimeSpan) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 시간 간격이 경과되기 전에 요청 메시지가 수신되는지 여부를 나타내는 값을 반환합니다.
public:
bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest (TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean
매개 변수
반환
지정된 시간 간격이 경과되기 전에 요청이 수신되면 true
이고, 그렇지 않으면 false
입니다.
예제
다음 코드에서는 이 메서드를 구현하는 방법을 보여 줍니다.
public bool WaitForRequest(TimeSpan timeout)
{
return this.InnerChannel.WaitForRequest(timeout);
}
설명
WaitForRequest(TimeSpan)를 호출하면 어떤 방법으로든 요청 메시지가 수신되거나 처리되지 않습니다.
BeginWaitForRequest(TimeSpan, AsyncCallback, Object) 메서드는 주로 사용자가 트랜잭션을 사용하여 메시지를 수신하려는 트랜잭션 처리 시나리오에서 사용됩니다. 이 ReceiveRequest 메서드를 일반적으로 사용하면, 사용자는 트랜잭션을 만들고 ReceiveRequest를 호출한 후 트랜잭션 시간 제한 전에 메시지가 도착하기를 기대해야 하는데 이것이 항상 가능하지는 않습니다.
대신 사용자는 WaitForRequest(TimeSpan)를 호출하고 시간 제한을 지정(무한도 가능)할 수 있습니다. 그러면 메시지가 도착할 때 트랜잭션을 열고 ReceiveRequest를 호출한 후 트랜잭션이 만료되기 전에 메시지를 확실히 돌려받을 수 있습니다.
큐에 메시지가 도착할 때까지 대기하는 동안 현재 스레드를 차단하는 것이 허용되는 경우에만 WaitForRequest(TimeSpan)를 사용합니다. 지정된 timeout
까지 스레드가 차단됩니다. 대기하지 않고 애플리케이션 처리를 계속하려면 비동기 BeginWaitForRequest(TimeSpan, AsyncCallback, Object) 메서드를 사용합니다.
구현자 참고
지정된 false
이 초과된 경우 작업에서 timeout
가 반환됩니다.
적용 대상
.NET