Проверьте состояние пула приложений (IIS 6) с помощью C # - PullRequest
2 голосов
/ 19 марта 2010

Как я могу проверить состояние пула приложений IIS6 с C #? Например, я хочу знать, работает ли он или нет! Заранее благодарим за помощь!

Ответы [ 2 ]

9 голосов
/ 19 марта 2010

http://msdn.microsoft.com/en-us/library/ms524962.aspx

Вы можете сделать это, проверяя свойство AppPoolState:

 protected void status()
    {
        string appPoolName = "dev.somesite.com";
        string appPoolPath = @"IIS://" + System.Environment.MachineName + "/W3SVC/AppPools/" + appPoolName;
        int intStatus = 0;
        try
        {
            DirectoryEntry w3svc = new DirectoryEntry(appPoolPath);
            intStatus = (int)w3svc.InvokeGet("AppPoolState");
            switch (intStatus)
            {
                case 2:
                    lblStatus.Text = "Running";
                    break;
                case 4:
                    lblStatus.Text = "Stopped";
                    break;
                default:
                    lblStatus.Text = "Unknown";
                    break;
            }
        }
0 голосов
/ 19 марта 2010

Я думаю, вам нужны услуги WMI ( Инструментарий управления Windows)

Существует несколько статей о том, как управлять IIS с помощью WMI через vbscript, например,

http://learn.iis.net/page.aspx/163/managing-applications-and-application-pools-on-iis-70-with-wmi/

Если вы возьмете одну из этих статей, то сможете легко адаптировать ее к C #.

...