0

というクラスでいくつかのメソッドを実行するスレッドを開始する C# ASP.NET Web アプリケーションがありますSiteCrawler.cs

すべてのスレッドの実行が終了したら、HttpContext.Current.Application値を保存したいと思います。私の問題は、HttpContext.Currentオブジェクトがnullそこに存在しないため、生成されたスレッドにあることです。

私は解決策を見つけるためにStackoverflowの隅々まで検索しようとしましたが、運がありません....

4

1 に答える 1

0

スレッドを生成するときに、HttpContext をパラメーターとして渡すことをお勧めします。個人的には、HttpContext への依存を取り除き、スレッドを同期する (またはその結果を保存する) ことを仕事とするオブジェクトを作成し、並列処理が完了した後に後処理を実行するために使用できるようにします。

HttpContext.Current.Application はシングルトンで、すべてのスレッドに存在します... これは Web アプリケーションですか? そうでない場合は、いつでも自分でアプリケーションを初期化し、HttpContext.Current.Application に割り当てることができます。

于 2012-07-25T04:53:53.773 に答える