最近、職場で ASP.NET プロジェクトのコードに取り組んでいます。Session
ユーザー アクティビティ (ページ ヒット数など) に関する基本的なメトリックを取得するための追跡ユーティリティが必要でしSession_End
たGlobal.asax
。
私はハッキングを始めました。最初のコードは問題なく機能し、ページの読み込みごとに DB を更新しました。Session_End
ただし、各リクエストでこの DB ヒットを削除し、すべてのデータを保存することに依存したかったのです。
Tracker
基本的にセッション変数をラップするプロパティを含め、すべてのトラッキング コードがクラスにカプセル化されます。
問題は、メソッドで 実行Tracker.Log()
したときに、トラッカー コードの が で失敗していたことです。常に現在のリクエストに関連しているため、これは理にかなっています。もちろん、 にはリクエストはありません。Session_End
HttpContext.Current.Session
NullReferenceException
HttpContext
Session_End
実際には正常に動作しているように見えるa を返すプロパティがあることを知ってGlobal.asax
います(トラッカーに挿入することになりました)。Session
HttpSessionState
しかし、私は興味があります. の外部から使用されるオブジェクトへの同じ参照をどのように取得できますHttpSessionState
か?Global.asax
Global.asax
前もってありがとう、私は入力に感謝します。:)