// 添加应用程序池空间引用
using System.DirectoryServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.Management;
private void button6_Click( object sender, System.EventArgs e)
{
// 如果应用程序池不存在,则会报错系统找不到指定路径
string AppPoolName = this .textBox1.Text.Trim();
string method = " Start " ;
try
{
DirectoryEntry appPool = new DirectoryEntry( " IIS://localhost/W3SVC/AppPools " );
DirectoryEntry findPool = appPool.Children.Find(AppPoolName, " IIsApplicationPool " );
findPool.Invoke(method, null );
appPool.CommitChanges();
appPool.Close();
MessageBox.Show( " 应用程序池名称启动成功 " , " 启动成功 " );
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, " 启动失败 " );
}
}
private void button7_Click( object sender, System.EventArgs e)
{
// 如果应用程序池当前状态为停止,则会发生异常报错
string AppPoolName = this .textBox1.Text.Trim();
string method = " Recycle " ;
try
{
DirectoryEntry appPool = new DirectoryEntry( " IIS://localhost/W3SVC/AppPools " );
DirectoryEntry findPool = appPool.Children.Find(AppPoolName, " IIsApplicationPool " );
findPool.Invoke(method, null );
appPool.CommitChanges();
appPool.Close();
MessageBox.Show( " 应用程序池名称回收成功 " , " 回收成功 " );
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, " 回收失败 " );
}
}
private void button8_Click( object sender, System.EventArgs e)
{
string AppPoolName = this .textBox1.Text.Trim();
string method = " Stop " ;
try
{
DirectoryEntry appPool = new DirectoryEntry( " IIS://localhost/W3SVC/AppPools " );
DirectoryEntry findPool = appPool.Children.Find(AppPoolName, " IIsApplicationPool " );
findPool.Invoke(method, null );
appPool.CommitChanges();
appPool.Close();
MessageBox.Show( " 应用程序池名称停止成功 " , " 停止成功 " );
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, " 停止失败 " );
}
}
转载于:https://www.cnblogs.com/dongdeliao/archive/2010/07/15/1777855.html