1

C#で非同期呼び出しを行った後、タイムアウトをテストできるようにしたいので、応答を無期限に待つことはありません。これが私のコードです:

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

EndInvoke限られた時間(タイムアウト)待つ方法はありますか?

そうでない場合、別の方法はありますか?

4

1 に答える 1

2

次のことを試してみてください。

if(RemAr.AsyncWaitHandle.WaitOne(1000)) // timeout value
{
   Console.WriteLine(RemoteDel.EndInvoke(RemAr));
}
else
{
   //throw exception etc.
}
于 2012-04-10T10:44:13.467 に答える