HybridHttpOrLocalThreadStorage
StructureMapを使用しており、ライフサイクルを使用してISessionを構成しました。新しいセッションが作成され、リクエストごとにコントローラーに挿入されます。
さて、私が持っている質問は処分についてです。さまざまなアプローチを紹介する記事をたくさん読みました。コントローラー、リポジトリ、httpモジュール、Application_EndRequest()
ハンドラーで実行している人もいます。批評は、SRP違反から、「オブジェクトを作成する人がその処分に責任を持つべきである」までの範囲でした。
つまり、結論は次のとおりです。
- 一般的なアプローチは、これらのセッションを手動で破棄することでした-なぜですか?特定のオブジェクトのライフサイクルを管理するようにコンテナを構成しました。それ(つまりIoC)が私のためにそれを管理するべきではありませんか?
- 処分に利用できるオプションのうち、それを
Application_EndRequest()
「最良の」方法で処理することはありますか?
たとえば、この記事では利用可能なアプローチの1つを詳しく説明していますが、記事自体は2。5年以上前のものです。おそらく、StructureMapの新しいバージョンでは、その実装のほとんどが廃止されていますか?