C# 停止 啟動 IIS 站點
1. 停止、启动IIS 站台
Code
DirectoryEntry VirtualDir;
VirtualDir = new DirectoryEntry("IIS://localhost/w3svc/1");
VirtualDir.Invoke("Stop", new object[] { }); // 停止
VirtualDir.Invoke("Start", new object[] { }); // 启动
2. 启动、回收、停止应用程序池
如何停止和启动应用程序池呢,和停止启动IIS站台一样也是用到 DirectoryEntry 类。
这里多写一点,IIS6才有应用程序池,IIS5.X是没有应用程序池的,那么如何判断IIS的版本呢?这个可以到注册表中读取。
Code
RegistryKey key = Registry.LocalMachine.OpenSubKey("software\\microsoft\\inetstp");
if (key != null)
int IISVersion = Convert.ToInt32(key.GetValue("majorversion", -1));
启动、回收、停止应用程序池
DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
DirectoryEntry findPool = appPool.Children.Find(AppPoolName,"IIsApplicationPool");
findPool.Invoke("Start",new object[] { }); // 启动
appPool.CommitChanges();
appPool.Close();
DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
DirectoryEntry findPool = appPool.Children.Find(AppPoolName,"IIsApplicationPool");
findPool.Invoke("Stop",new object[] { }); // 停止
appPool.CommitChanges();
appPool.Close();
DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");
DirectoryEntry findPool = appPool.Children.Find(AppPoolName,"IIsApplicationPool");
findPool.Invoke("Recycle",new object[] { }); // 回收
appPool.CommitChanges();
appPool.Close();
这里主要用到了 DirectoryEntry 类别,DirectoryEntry是.Net给我们的一大礼物,他的名字我们就知道他的功能--目录入口。那么这个类别究竟有何用处呢。敬请等待下回分解。
页:
[1]