Почему данные статических переменных теряются, а не экземпляры при перезапуске перезапуска IIS / пула приложений? - PullRequest
1 голос
/ 25 октября 2011

Почему при перезапуске IIS данные статической переменной теряются (например, в свойстве веб-части в Sharepoint), но в переменной экземпляра это не так?

Это с IIS7 и Windows Server 2008 R2 x64.

Спасибо

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

Если процесс перезапускается, все переменные теряются.Но: IIS автоматически сериализует переменные сеанса в память других процессов при повторном цикле пула.Когда пул перезапускается, переменные сеанса десериализуются и, таким образом, восстанавливаются.Это делается с помощью функции сериализации .NET, которая означает, что все переменные сеанса должны быть помечены атрибутом [Serializable], в противном случае вы получите исключения во время выполнения.

3 голосов
/ 25 октября 2011

Переменные экземпляра будут , безусловно, будут потеряны - просто, вероятно, они заполняются с помощью данных запроса, так же, как это происходит, когда IIS не перезапускается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...