なぜのSession_Endイベント中HttpContext.Current nullですか?

 なぜのSession_Endイベント中HttpContext.Current nullですか?

Session_Endには何のHttpContextがnullである理由を説明しているを参照することがありませんので、必ずブラウザに関わる通信はありません。

あなたのコードを見てみると、あなたは、アプリケーションのキャッシュにinterstedているように見えます。それは経由で利用できるアプリケーションのHttpApplicationインスタンスのプロパティ。

あなたが取るあなたのUSERCOUNTクラスの過負荷作成する場合HttpApplicationStateを、あなたは大丈夫です。

public static void subtract(HttpApplicationState appstate) { appstate.Lock(); int count = (int) appstate["CountOfUsers"]; count--; appstate["CountOfUsers"]=count; appstate.UnLock(); }

あなたはそのようのSession_Endからこれを使用することができます。

protected void Session_End(object sender, EventArgs e) { UserCount.subtract(Application); }

global_asaxは技術的からサブクラスであるので、これは作品のHttpApplicationので、そのすべてのメンバーがglobal_asaxファイルからアクセスできます。

他の実装はsubstractのHttpContextがある場合に使用することができます。

おすすめ

転載: www.cnblogs.com/chucklu/p/10950073.html