查网站的建站系统,电脑学校,crm排名,中铁建设集团有限公司招标网最近网站总是报Timer_Connection错误,导致该网站所使用的应用程序池由于错误过多停止运行,网站也就出现了service unvaliable,无法访问,在网上查了很多资料,结果很让人无奈,这个问题已经困扰我了很久,一直没有得到解决,后来同事发来一篇文章让我有了新的解决方法,虽… 最近网站总是报Timer_Connection错误,导致该网站所使用的应用程序池由于错误过多停止运行,网站也就出现了service unvaliable,无法访问,在网上查了很多资料,结果很让人无奈,这个问题已经困扰我了很久,一直没有得到解决,后来同事发来一篇文章让我有了新的解决方法,虽然不能根本解决这个报错,但可以快速清空并恢复指定的应用程序池 不多说了,看看下面这个方法吧,主要是创建一个连接(如你要监控的网站的一个地址),如果能访问到这个页面说明网站应用程序池没有问题,如果不能访问,也就是会报错喽,这时我们就可以调用下面的方法,去清空并重启该应用程序池,代码如下: public void RestartAppPool() { System.Net.HttpWebRequest request (HttpWebRequest)WebRequest.Create(System.Configuration.ConfigurationSettings.AppSettings[webfile].ToString()); request.KeepAlive false; try { System.Net.HttpWebResponse response (HttpWebResponse)request.GetResponse(); response.Close(); } catch { DirectoryEntry root new DirectoryEntry(IIS://localhost/W3SVC/AppPools/ System.Configuration.ConfigurationSettings.AppSettings[AppPoolName].ToString()); root.Invoke(Start, null); root.CommitChanges(); AddEventLog(重启应用程序池于DateTime.Now.ToLongTimeString()); root.Close(); } } 这里有一点需要注意,DirectoryEntry需要引用C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll 另外还要Using System.Net 而我则是创建了一个windows service来定时去检查应用程序池的状态. 另外,大家在创建windows service的时候可不要忘记在安装进程控件(serviceProcessInstaller1)属性中将Account设置为Local System,否则在您安装这个服务时会提示您输入用户名及密码,如下图 这时您需要在安装服务之前创建一个windows账户,并且需要在策略中作为服务登录添加您之前创建的用户,当然这样做实在很麻烦,为了不在安装中出现这个问题,一定要将Account设置为Local System,本人之前就遇见了这个问题,最后不得不在网上又搜了一圈才明白到底是怎么回事,希望您在遇到这个问题是对您有所帮助哦. 转载于:https://www.cnblogs.com/dongpo888/archive/2009/01/13/1375212.html