なぜの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がある場合に使用することができます。