//添加应用程序池空间引用
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)
{
//如果应用程序池不存在,则会报错系统找不到指定路径
stringAppPoolName=this.textBox1.Text.Trim();
stringmethod="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)
{
//如果应用程序池当前状态为停止,则会发生异常报错
stringAppPoolName=this.textBox1.Text.Trim();
stringmethod="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)
{
stringAppPoolName=this.textBox1.Text.Trim();
stringmethod="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,"停止失败");
}
}
本文提供了一个使用C#代码实现对IIS应用程序池进行启动、回收和停止操作的示例。通过DirectoryEntry对象与IIS元数据库交互,演示了如何针对指定的应用程序池执行不同的管理任务。
2万+

被折叠的 条评论
为什么被折叠?



