用c#怎麼檢測iis應用程式池是否被停止了,即它的狀態
阿新 • • 發佈:2019-01-26
我的iis應用程式池動不動就被自動停止了,我想做個小程式,自動檢測iis應用程式池是否被停止,如果停止了就自動啟動它,高手幫忙
用下面程式碼可以啟動應用程式池
DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
DirectoryEntry findPool =appPool.Children.Find(AppPoolName,"IIsApplicationPool");
findPool.Invoke(method,null);
appPool.CommitChanges();
appPool.Close();
用下面程式碼可以檢查一個服務是否被啟動
System.ServiceProcess.ServiceController sc = new System.ServiceProcess.ServiceController();
sc.ServiceName = AppPoolName;//"MSSQLSERVER";
if( sc.Status != ServiceControllerStatus.Running )
sc.Start();
問題是怎麼用這個檢測iis應用程式池是否被停止了,高手幫忙,謝謝拉
在你上面的程式碼中不是可以取得“IIS://localhost/W3SVC”這個物件麼?
你可以檢查這個物件的“ServerState”屬性。
ServerState Result:
1: Starting
2: Started
3: Stopping
4: Stopped
5: Pausing
6: Paused
7: Continuing