Назад | Перейти на главную страницу

Серверное приложение недоступно после обновления до .NET 4.0 и MVC 3. AppPool Recycle исправляет это.

С тех пор, как мы установили .NET 4.0 и ASP.NET MVC 3 на наши серверы IIS и развернули наши веб-сайты, мы получаем сообщение «Серверное приложение недоступно».

В журнале событий нет журналов, касающихся проблемы.

Мы думаем, что это связано с установкой .NET 4.0 или MVC 3.0, поскольку мы видели это на каждом этапе нашего развертывания. Сначала мы обновили нашу среду DEVelopment, затем нашу ACCeptation, и теперь, наконец, мы наблюдаем такое же поведение в нашей среде PRoDuction.

Повторное использование пула приложений определенного веб-приложения решает проблему.

Раньше у нас этого не было, и мы задаемся вопросом, что могла изменить установка MVC 3.0 или .NET 4.0. Все наши веб-серверы работают на IIS6.

Обновление 12-08-2011
Мы заметили кое-что еще: когда у нас есть один пул приложений, на котором работают три приложения .NET 4. И мы меняем значение в web.config одного из этих приложений, что должно привести к его повторному использованию, только это приложение больше не работает, два других все еще работают нормально. Это означает, что автоматическая переработка никогда не происходит, когда файл изменяется внутри веб-приложения.

Есть ли в пуле приложений более одного приложения? Если да, попробуйте разделить их на разные пулы, поскольку это может быть причиной проблемы, особенно если два приложения используют разные версии .Net.

Мы обнаружили проблему, это было то, о чем посторонний человек никогда бы не узнал ...

Поскольку мы хотим разделить сеанс между двумя приложениями, мы добавили SharedSessionModule в веб-приложение. В основном это меняет имя приложения перед выборкой правильного сеанса из базы данных ASPState. Я получил этот модуль отсюда: http://www.codeproject.com/KB/session/sharedsession.aspx?display=Print

Это работает, но приводит к сбоям во внутреннем устройстве IIS при повторном использовании appPool.