2012-04-10 2 views
1

C#에서 비동기 호출을 수행 한 후 응답을 무기한 대기하지 않으므로 제한 시간을 테스트 할 수 있습니다.비동기 호출의 C# 제한 시간

RemoteAsyncDelegate RemoteDel = new RemoteAsyncDelegate(obj.MethodHello); 
// Call delegate to remote method 
IAsyncResult RemAr = RemoteDel.BeginInvoke(null, null); 
Console.WriteLine(RemoteDel.EndInvoke(RemAr)); 

(시간 초과) 제한된 시간 동안 기다리는 EndInvoke 수있는 방법이있다 : 여기 내 코드는?

그렇지 않은 경우 다른 방법이 있습니까?

답변

2

다음을 시도해보십시오.

if(RemAr.AsyncWaitHandle.WaitOne(1000)) // timeout value 
{ 
    Console.WriteLine(RemoteDel.EndInvoke(RemAr)); 
} 
else 
{ 
    //throw exception etc. 
} 
관련 문제