Сбой пула приложений IIS7 при чтении файлов cookie

Это настоящий вызов: я установил IIS7.5 на свой компьютер и начал разрабатывать веб-сайт. Каждую ночь я делаю резервные копии на своем веб-сервере, win 2008r2 sp1 (все обновления). Работает без нареканий.

Тем не менее, я столкнулся с огромной проблемой при совместном использовании файлов cookie между пулами приложений. www.example.com был настроен на 127.0.0.1, чтобы я мог протестировать сайт локально. Он создал куки, НО, когда я удалил запись HOSTS (чтобы указать на веб-сервер) - пул приложений на веб-сервере упал. Это происходит каждый раз, и, возможно, придется что-то делать с cookie-файлом sessionID, так как без cookie-файлов это НЕ ДАЕТ!

файл журнала:

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: nlssorting.dll, version: 4.0.30319.239, time stamp: 0x4e182039
Exception code: 0xc00000fd
Fault offset: 0x0000000000001d7d
Faulting process id: 0x9f8
Faulting application start time: 0x01ccbbd76b7a443c
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\nlssorting.dll
Report Id: a9cfd0cf-27ca-11e1-bced-00215e5304da

Что здесь происходит?

1 ответ

ASP.NET auth cookie шифруется и дешифруется с помощью настройки machineKey в web.config. Если у вас его нет, он генерируется автоматически при каждом запуске приложения. Рекомендуется установить фиксированное значение, чтобы избежать недействительности файлов cookie между перезапусками приложения.

Я не могу быть уверен, но, возможно, cookie-файл сеанса asp.net также зависит от этого ключа шифрования. Я почти уверен, что viewstate также использует его (именно поэтому вы видите ошибки invalid-viewstate, когда инициируете обратную передачу после закрытия приложения из-за неактивности).

Итак, попробуйте установить ключ машины и увидеть, что все еще происходит. Вы можете использовать IIS для его создания, и он вставит его в нужное место в файле web.config.

Другие вопросы по тегам