2013-10-10 3 views
2

Есть ли способ обнаружения, когда пул приложений IIS (6 или 7.0) запускается (или действительно выключается) или вручную перерабатывается через диспетчер IIS?Как определить запуск пула приложений IIS

Это не требуется в II7.5 из-за его модуля инициализации приложения.

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

Я задавался вопросом, можно ли наблюдать за событиями в журнале сервера с помощью планировщика, но я не могу найти записи журнала, когда пул приложений вручную отключается.

Я понимаю, что могут быть случаи, когда пул приложений катастрофически не работает и не регистрируется.

Благодаря

ответ

1

для IIS 7 вы можете использовать Microsoft.Web.Administration dll. Вы можете проверить, создавать состояния бассейнов programaticaly. ApplicationPool.State дает вам состояние пула приложений.

Вот пример из iis.net добавляет пул.

using System; 
using System.Collections.Generic; 
using System.Text; 
using Microsoft.Web.Administration; 
namespace MSWebAdmin_Application 
{  
    class Program 
    { 
     static void Main(string[] args) 
     { 
      ServerManager serverManager = new ServerManager(); 
      Site site = serverManager.Sites["Racing Cars Site"]; 
      site.Name = "Racing Site"; 
      site.Applications[0].VirtualDirectories[0].PhysicalPath = "d:\\racing"; 
      serverManager.ApplicationPools.Add("RacingApplicationPool"); 
      serverManager.Sites["Racing Site"].Applications[0].ApplicationPoolName = "RacingApplicationPool"; 
      ApplicationPool apppool = serverManager.ApplicationPools["RacingApplicationPool"]; 
      apppool.ManagedPipelineMode = ManagedPipelineMode.ISAPI; 
      serverManager.CommitChanges(); 
    apppool.Recycle(); 
     } 
    } 
} 

http://www.iis.net/learn/manage/scripting/how-to-use-microsoftwebadministration

Для IIS 6 Check the status of an application pool (IIS 6) with C#

Смежные вопросы