Проблема с отключением пула приложений ASP.NET
Иногда исключение вызывает application pool
выключить. Я запускаю его вручную, но вопрос в том, как я могу автоматизировать это поведение в IIS 7.0
(Windows Server 2008).
3 ответа
Если пул приложений умирает, следующий запрос на ресурс, обслуживаемый этим пулом, автоматически перезапустит его. Однако если в пуле приложений включена быстрая защита от сбоев, и пул умирает чаще, чем число, указанное свойством максимальных отказов, в пределах интервала, указанного свойством интервала отказов, то вы получите сообщение 503 Service Unavailable. На этом этапе вам придется вручную перезапустить пул приложений.
Чтобы обойти это, либо отключите быструю защиту от сбоев для пула приложений, либо попробуйте увеличить число сбоев в течение определенного периода времени, а затем определите основную причину исключений, которые завершают пул приложений.
Откройте iis, выберите свой веб-сайт, и справа вы увидите Действия.
под Обзор веб-сайта -> Расширенные настройки
выберите Пуск Автоматически до истины.
У меня похожая проблема в Windows Server 2012 Standard и IIS 8. URL-адреса с символом амперсанда в конце приводят в замешательство IIS и считают их вредоносными. Это приводит к сбою пула приложений, что приводит к сбою веб-сайта.
Что вам нужно сделать, это посмотреть Event Viewer для 1309 событий. (В столбце Идентификатор события) Вы можете настроить это с помощью Планировщика заданий. Когда вы видите событие, вы перезапускаете пул приложений.
Чтобы перезапустить пул приложений, вы можете использовать скрипт.vbs следующим образом:
Установите oWebAdmin = GetObject("winmgmts:root\WebAdministration"). Установите oAppPool = oWebAdmin.Get("ApplicationPool.Name='DefaultAppPool'") 'Перезапустите пул приложений. oAppPool.Recycle
Или вы можете использовать Powershell, если вам это нравится больше.
Я использую довольно аккуратную программу на C#, которую я нашел здесь: http://www.west-wind.com/weblog/posts/2012/Oct/02/A-tiny-Utility-to-recycle-an-IIS-Application-Pool
Он отлично справляется со своей работой и, кажется, обходит некоторые проблемы с разрешениями, которые есть у двух предыдущих методов. Я должен запустить этот скрипт от имени администратора.
Надеюсь это поможет. Это не решает проблему, но отключит тепло, пока не будет найдено решение этой проблемы с URL.