2010-03-19 78 views
2

如何使用C#檢查IIS6應用程序池的狀態? 例如,我想知道它是否正在運行! 提前感謝您的幫助!用C#檢查應用程序池(IIS 6)的狀態

+0

你可以找到這個鏈路https://stackoverflow.com/questions/18349532/an-application-which-fetches- iis-and-app-pool-details-of-website-hosted-in-remot/48164885#48164885 – 2018-01-09 09:29:04

回答

9

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

上面的代碼正在運行,但是這需要更多的信息,因爲它給出了「拒絕訪問」的錯誤。你能對此有所瞭解嗎? – 2014-12-15 19:15:58

+0

@KartikGoyal:從AdministrativeTools中禁用防火牆 - > Windows防火牆和高級設置適用於我。 – 2016-06-07 07:26:28

+0

以上代碼幫助我找到詳細信息。我在下面的鏈接中更新了上述方法。 https://stackoverflow.com/questions/18349532/an-application-which-fetches-iis-and-app-pool-details-of-website-hosted-in-remot/48164885#48164885 – 2018-01-09 09:30:16