用asp.net来回收IIS6.0应用程序池

网站由于使用比较多的缓存,有时会出现缓存错误,导致程序异常,这个时候需要回收一个应用程序池就可以了。

以前每次都是通过远程桌面连接到服务器,然后在应用程序池上右击》回收,感觉比较麻烦,于时找了如下的一个办法来实现。

其实就是普通的一个asp.net页面,加上一个按钮,进行回收,主要程序如下: 

复制  保存

protected void StartStopRecycleApp(string method)
{
string AppPoolName = this.tbAppName.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();
lbMsg.Text = string.Format("应用程序池{0}{1}成功", AppPoolName, method);
}
catch (Exception ex)
{
lbMsg.Text = string.Format("应用程序池{0}{2}失败:{1}", AppPoolName, ex.Message, method);
}
}

tbAppName是一个textbox,用来输入应用程序池的名字,如“DefaultAppPool”。
当method="Recycle"时就是回收,为“Start”时是启动,为“Stop”时是停止。

注意:

1. 必须引入System.DirectoryServices包
2. 运行此程序的应用程序也的用户必须权限比较高,可以单独为此程序提供应用程序程,或者建立一个虚拟目录在配制里模拟高级用户(如administrators或者system),否则应用程序会抛出“拒绝访问”的异常。

时间: 2024-11-03 22:26:16

用asp.net来回收IIS6.0应用程序池的相关文章

IIS6.0应用程序池的性能优化和设置技巧分享第1/2页_win服务器

IIS6.0应用程序池回收和工作进程 公司的一个网站程序长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和CPU资源没能及时释放,才需要每隔一段时间重启网站释放资源.但手工重启总不能算解决问题的方法,怎样才能实现自动管理呢?IIS6.0的应用程序池自动回收功能可以解决这一问题. 应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置.因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所

IIS6.0应用程序池回收设置分析_win服务器

问题如下: 1.网页上显示 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的"刷新"按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误信息可在 Web 服务器的系统事件日志中找到.请检查此日志项以查明导致该错误发生的原因. 2.windows事件查看器-应用程序Log The state server has closed an expired TCP/IP connection. The IP address of the c

教你让IIS6.0支持ASP方法

iis     ASP脚本在目前的网页开发方面使用的很广泛,但Windows 2003中自带的IIS 6.0默认情况下不支持ASP脚本,但可以运行aspx程序,这给运行和调试ASP代码带了不便.其实,在Windows 2003的Internet信息管理器中稍加调整,就可以解决这一问题.     点击"开始/程序/管理工具/Internet信息管理器",在IIS管理器窗口中,在窗口左侧面板选中"Web 服务扩展",在窗口右侧的属性列表中点击"Active S

权限管理 c#-关于WinServer2003+iis6.0+asp.net调用cmd权限问题

问题描述 关于WinServer2003+iis6.0+asp.net调用cmd权限问题 目前正在做一个c++编程题评分系统,其中要实现对源代码的编译并比较结果的功能.这里我是通过Process类来调用cmd执行cl命令来编译,在VS2010中测试结果没问题,但放在iis上发布后就不能调用cmd. 网上找了很多资料,说是权限问题,但试过各种方法都不行,如:应用程序池中给本地系统的权限.将aspnet账户加入到Administrator用户组.给cmd.exe设置everyone的权限.将cmd放

Windows2003系统中安装IIS6.0配置asp.net/php环境图文教程

IIS6.0安装 首先在控制面板里依次选择"添加或删除程序"的"添加/删除Windows组件"; 双击"应用程序服务器" 再双击"Internet信息服务",选中"Internet 信息服务(IIS)"(注:此选项下还可进一步作选项筛选,请根据自己需要选用,如下图所示),点确定即安装完成.   点击确定后就可以安装完成了.   配置IIS6.0 1.同其它windows平台一样,此时默认Web站点已经启动了

windows 2003 IIS6.0无法执行ASP问题解决方法

windows 2003 IIS6.0无法执行ASP问题解决方法 启用Asp支持 Windows   Server   2003   默认安装,是不安装   IIS   6   的,需要另外安装.安装完   IIS   6,还需要单独开启对于   ASP   的支持.   启用Asp,进入:控制面板   ->   管理工具   -> IIS(Internet   服务器)-   Web服务扩展   ->   Active   Server   Pages   ->   允许 控制面

IIS6.0手动安装与配置asp.net2.0全过程

这个问题不是很新了,但是相信对一些新手来说还是有一定难度的,或是一 些程序员本身就没有机会接触到这块,正好今天我配置计算机,把这个过程记录 下来,希望以后能用的上,也希望能给大家带来一点帮助(本次试用的是IIS6.0 版本在Windows Service 2003上的安装过程) 第一步,打开控制面板,双击[添加或删除程序]图标,在弹出的[添加或 删除程序]窗口中选择[ 添加/删除Windows组件(A)],然后会弹出Windows组件 向导 我们选择[应用程序服务器] 然后单击[详细信息(d).

挖掘IIS6.0管理网站的新招_安全设置

尽管IIS6.0的推出已有一些时日,相信许多网民使用它管理各类网站已经烂熟于心,不过IIS6.0就像Windows操作系统一样深不见底,要是用力挖掘的话,还是能发现很多新应用技巧的,或许下面提供的几则管理网站的新技巧你并不熟悉. 尽管IIS6.0的推出已有一些时日,相信许多网民使用它管理各类网站已经烂熟于心,不过IIS6.0就像Windows操作系统一样深不见底,要是用力挖掘的话,还是能发现很多新应用技巧的,或许下面提供的几则管理网站的新技巧你并不熟悉. 1.阻止网站耗费太多内存资源 使用IIS

IIS6.0的设置

iis 最近用了win2003系统,发现装上了IIS无法浏览asp网页,找了好久也没有发现问题,今天突然发现由于IIS增强了安全性,所以多了很多设置.打开IIS6.0,在左边的文件夹的扩展下有一项Web服务扩展,点击,右边出现具体项,其中有一个Active Server Pages,默认是禁止的,需要手动允许.虽然很简单,不过恐怕有很多人都和我一样找了好久,为了让大家少花时间,我把这个问题帖在这里了.