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

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

Тем не менее, я столкнулся с огромной проблемой при совместном использовании файлов cookie между пулами приложений. Адрес www.example.com был установлен на 127.0.0.1, чтобы я мог протестировать веб-сайт локально. Он создал файлы cookie, НО когда я удалил запись 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

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


person S_S    schedule 16.12.2011    source источник
comment
Вы видели эту ошибку подключения? connect.microsoft.com/VisualStudio/feedback/details/ 665157/   -  person rick schott    schedule 16.12.2011
comment
да, реальной информации там нет, но если это ошибка, то нет шансов, что она еще не исправлена ​​... я думаю (апрель 2011 г.)   -  person S_S    schedule 16.12.2011
comment
Я бы подал еще один или добавил бы к нему, чтобы они знали, что это реальная проблема.   -  person rick schott    schedule 16.12.2011
comment
Ключ к проблеме находится в коде исключения: 0xc00000fd - это переполнение стека, происходящее прямо здесь. Единственный способ начать устранение неполадок — использовать DebugDiag или ADPlus для захвата аварийного дампа пула. Когда вы это сделаете, вам нужно загрузить дамп в WinDbg + SOS и начать анализ. Вы должны взглянуть на лаборатории по отладке Тесс Феррандес, которые помогут вам начать работу: blogs.msdn.com/b/tess/archive/2008/02/04/ .   -  person Kev    schedule 18.12.2011
comment
Работает ли сайт после перезапуска пула приложений? Или он постоянно падает на каждой странице, которую вы посещаете после того, как вы изменили настройку HOSTS для перехода на сервер?   -  person Chris    schedule 27.12.2011
comment
@S_S Я столкнулся именно с этой проблемой, и это доставляет мне сущий кошмар. Похоже, это также связано с сеансом, так как он вылетает каждый раз, когда кто-то входит в систему. Вы когда-нибудь решали эту проблему?   -  person Tom Miller    schedule 10.02.2015


Ответы (1)


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

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

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

person Community    schedule 27.01.2012