|
分類:[ASP.NET (VB)]
以下のような条件で作成した場合での非同期関数の強制終了方法を探しています
1.関数はSharedで宣言したいので仲介する変数をClass内には配置したくない(干渉する危険性を考えて) 2.関数は引数と戻り値を持っていて実行元で戻り値を取得したい 3.関数は一定時間後に強制終了したい
戻り値を取得するためにThreadではなくBeginInvokeにて実装しましたが非同期関数の強制終了方法がわからずに困っています 何かよい方法はないでしょうか?
Dim Result As IAsyncResult = Caller.BeginInvoke(Value, ThreadID, Nothing, Nothing) If Result.AsyncWaitHandle.WaitOne(DefaultTimeout) Then Ret = Caller.EndInvoke(ThreadID, Result) Else 'スレッドの強制停止方法を考え中 End If
追記 Result.AsyncWaitHandle.Close()だとIISの実行プロセスも停止してしまいました FrameWork 2.0にて作成しています
|