Mauricoとcodekaが最初に述べたように、セッションがWebサイトの再コンパイルやアプリケーションのリサイクルの影響を受けないようにする場合は、デフォルトのInProcセッションを使用しないでください。
ウェブサイト全体が再コンパイルされる原因のリスト:
デフォルトでは、Webサイトの最上位ファイルに変更が加えられると、サイト全体が再コンパイルされます。トップレベルファイルには、global.asaxファイルと、bin/およびApp_Code/フォルダー内のすべてのファイルが含まれます。
SectionInformation.RestartOnExternalChangesプロパティがtrueの場合、構成にはファイルの変更が含まれます
<section name = "MyAppSettings" type = "System.Configuration.AppSettingsSection、System.Configuration、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a" restartOnExternalChanges = " true " requirePermission = "false" />
ノート:
- サイト全体を再コンパイルせずにトップレベルのファイルを変更できるようにする場合は、Web.configファイルのコンパイル要素のoptimizeCompilations属性をtrueに設定できます。
参照:
Webサイトプロジェクト(Webアプリケーションプロジェクトではない)がそれ自体を再コンパイルする原因となる変更とファイルの種類を示す情報はどこにありますか?
私が尋ねている理由は、ユーザーがセッションを失ってほしくないからです。したがって、ライブWebサイトを更新可能な変更は、朝のごくわずかな時間にのみ更新したいと考えていますが、それらを迅速に処理するために、日中に変更を加えることをお勧めします。最初にステージングサーバーにプロモートしてそこで監視しますが、事前に決定的なリストがあれば便利です。