0

バッチプロセスを持つasp.netでWebアプリケーションを作成しています(バックグラウンドでの実行には約2時間かかります)。バッチプロセスの進行状況を更新するための静的変数を持つ静的クラスを作成しました。Web ブラウザーからこれらの変数に ajax を介してアクセスし、進行状況を表示します。

問題は、これらの静的変数にアクセスするために ajax が呼び出されたときに、サーバーから応答を取得するまでブラウザが応答しないことです。これは、ajax とバックグラウンド バッチ プロセスの両方から同時に同じ静的変数にアクセスするために発生していると思います。しかし、バックグラウンド バッチ プロセスが実行されていない場合は、すべて問題ありません。

これを解決するのを手伝ってください。または、これを行うためのより良い方法を教えてください。

共有セクションのビット

public static class ExecutionStatusLog
{
  public static string RunID;
  public static string ExecutionStatus;
  public static int RunningFlag = 0;        
  public static DateTime StartTime;
  public static DateTime EndTime;
  public static int count;
}
4

1 に答える 1

0

lock structure同時に2つのスレッドへのアクセスをブロックするために使用できます

mutual exclusion problem

リンク: http: //msdn.microsoft.com/fr-fr/library/c5kehkcz (v = vs.80).aspx

注:モニター、ミューテックス、またはセマフォを使用することもできます...

于 2013-03-22T14:01:47.463 に答える