3

ThreadLocalASP.NETで変数を使用していますHttpHandler。リクエストごとに新しい変数が生成されると思いました。

アプリケーションで奇妙な動作があります。ThreadLocal変数がASP.NETページで作成および破棄されるのはいつですか?

同じスレッドが後で別の要求のためにASP.NETによって使用されるとどうなりますか?その結果、新しいThreadLocal変数が生成されますか、それとも以前に作成された値(別のリクエストで使用された)が使用されますか?

スレッドが実際に破棄されたときに変数が破棄された場合ThreadLocal、ASP.NETでは私の仮定は失敗します(スレッドはプールに戻り、要求ごとに一意ではないため)

4

2 に答える 2

4

ASP.NET は、要求間でスレッドを再利用できます。実際、メモリがサービスを提供する場合、要求ごとに通常の .NET スレッド プールのスレッドを使用します。代わりにセッション状態を使用する方がよいでしょう。

于 2011-05-07T02:15:22.473 に答える