ASP.net でセッションが切れる時

ASP.netではデフォルトで扱うとちょっとした事でセッションが切れて、ブラウザに保持していた値など情報が消滅してしまう。

どのような行為でセッションが切れるかとなると、以下のサイトに記述があった。
↓[参照:[ASP.NET] セッションのモード設定は「InProc」で良いのか?]
http://www.ilovex.co.jp/Division/SRD/archives/2007/07/aspnet_inproc.html
まとめると
・大量のファイルが更新された場合
・仮想ディレクトリの接続パスが変更された場合
・web.configファイルが変更された場合(※前述)
・global.asaxファイルが変更された場合
・binディレクトリ内のファイルが変更された場合
との事。

binディレクトリ以下に随時更新するiniファイルを作ったためにトラブルが発生したという事例もある。
その教訓には「binフォルダには触れるな!」とある事からbinフォルダ内のファイルに関しては本番オープン後に絶対に更新しないファイルを置く必要がある。
[参照:http://playtoto.blog55.fc2.com/blog-entry-165.html]


「[ASP.NET] セッションのモード設定は「InProc」で良いのか?]」の中では
「基本的には、「InProc」ではなく、「StateServer」や「SqlServer」へモード設定をしておくのが正しい対応策でしょう。
これらの設定であれば、アプリケーションのリスタート、プロセスリサイクリングによっても、
セッション情報が失われることはありません」。
とある。

しかし、「StateServer」や「SqlServer」モードというのは「InProc」よりも低速、かつ内容がよくわからないので、今後も検証の必要があるだろう。