Перезапуск пула приложений с помощью asp.net (IIS7)
Вопрос
Мне нужно перезапустить пул приложений из кода, кто-нибудь знает, как это сделать?Я видел много примеров для iis6, и большинство комментариев были "Это не работает".
Итак, есть какие-нибудь идеи или, в любом случае, заставить IIS просматривать файл и при его изменении перезапускать пул приложений?
Решение
Другие советы
Фактически добавление одного пробела ' ' в конечный файл web.config приведет к перезапуску приложения.
В папке веб-приложения (inetpub\ wwwroot\ webapp) создайте bat-файл (rest.bat) с
echo >> web.config
Если вы запустите пакетный файл, вы получите повторную переработку
Более простой способ..Почему бы и нет, когда файл, который вы просматриваете, изменяется, и вы хотите переработать приложение, просто измените ключ в Web.config.Любое изменение в Web.config приводит к повторной переработке вашего приложения..
Вместо того, чтобы делать это таким образом (перерабатывать пул), почему бы не использовать зависимость кэша, основанную на файле?есть пример того, как это сделать здесь с помощью xml-файла.Таким образом, приложение больше не будет перерабатываться.
XmlDocument urls = new XmlDocument();
urls.Load(Server.MapPath("pathetourlfile.xml"));
CacheDependancy dependancy = new CacheDependency(Server.MapPath("pathetourlfile.xml"))
Cache.Insert("URLS", urls, dependency)