0

Webページから、時間のかかるジョブを開始し、webmethodを使用してUIのステータスを更新します。

ジョブはスレッドで実行されます:

ThreadPool.QueueUserWorkItem(new WaitCallback(DoJob), parameters);

ジョブセットは静的プロパティを使用してステータスを設定し、JavaScriptを使用してWebページがWebメソッドを呼び出すと、それらのプロパティを読み取ります。

 [System.Web.Services.WebMethod]
    public static ProcessStatus GetProgressStatus()
    {

        Jober.Lock.EnterReadLock();
        ProcessStatus st = new ProcessStatus(Jober.PercentageCompleted, Jober.TotalNumber);
        Jober.Lock.ExitReadLock();

        return st;
    }

UIの進行状況はjavascriptを介して更新されます。問題は、スレッドが完了した後、サーバー側でUIを更新する必要があるため、javascriptはここでは役に立ちません。

スレッドが完了したときに通知するための最良の方法は何ですか?

4

1 に答える 1

0

「UIの進行状況はjavascriptで更新されます」とあなたは言います。

Jober.PercentageCompleted == 100のときに、(javascriptを使用して)ページをリロードするだけではいけませんか?

于 2010-09-08T11:35:29.547 に答える