创建windows服务,定时监控网站应用程序池
最近网站总是报"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
创建windows服务,定时监控网站应用程序池相关推荐
- 杂记2:VS2013创建Windows服务实现自动发送邮件
这篇随笔里,我将介绍如何用VS2013开发Windows服务项目,实现的功能是定时发送电子邮件. 开发环境:VS2013,SQL Server2008,采用C#语言开发 步骤一:创建Windows服务 ...
- 用.NET创建Windows服务
用.NET创建Windows服务 译者说明:我是通过翻译来学习C#的,文中涉及到的有Visual Studio.NET有关操作,我都根据中文版的VS.NET显示信息来处理的,可以让大家不致有误解. 作 ...
- 用C#创建Windows服务(Windows Services)
转载自 hyslove 最终编辑 hyslove Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称.用Visual C# 创建Windows服务不是 ...
- C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案
C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案 参考文章: (1)C#/.NET基于Topshelf创建Windows ...
- (转)创建Windows服务(Windows Services)N种方式总结
转自:http://www.cnblogs.com/aierong/archive/2012/05/28/2521409.html 最近由于工作需要,写了一些windows服务程序,有一些经验,我现在 ...
- *用C#创建Windows服务(Windows Services)
Windows服务在Visual Studio 以前的版本中叫NT服务,在VS.net启用了新的名称.用Visual C# 创建Windows服务不是一件困难的事,本文就将指导你一步一步创建一个Win ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务
在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003,都可 ...
- C# — 创建Windows服务
以前从来没有接触过C#,对Windows服务也完全不了解,今天通过使用VS2017创建了一个Windows服务,并进行了安装和卸载,目前也是一知半解的地步,简单的做个笔记记录一下,也算是复习了吧. 第 ...
- python windows服务_Python创建Windows服务
首先让我们开始安装Python for Windows扩展: c:test>pip install pywin32 完成后,让我们编写该基类,您的Windows服务将是该基类的子类. ''' S ...
最新文章
- 关于零拷贝的一点认识
- 第4章 利用三层交换机实现VLAN间路由lan配置
- 002 辅助框架的设计
- Problem G: 部分复制字符串
- usnews 计算机专业排名,2019美国大学USNews计算机专业排名
- TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)
- dqn在训练过程中loss越来越大_深度强化学习——从DQN到DDPG
- smarty变量调节器--cat[连接字符串]
- 注册测绘师划出后的分析与思考
- 珍大户《认知世界的经济学》学习笔记,更新时间 2021年01月30日22:34:35
- 12f的接线 esp8266_ESP8266固件升级方法(ESP8266-12F模组)
- python乱码怎么解决方法_python中文乱码的解决方法
- 按头安利 好看又实用的手绘图标素材看这里
- 从BlueSky.h和BlueSky.cpp到BlueSky.out的那些事儿
- winscp如何连接安卓手机_通过winscp连接路由器
- 小米MIUI手机adb连接教程
- 一、ping与arping介绍
- Spring源码阅读笔记(一):整体架构与核心技术
- 苹果4s怎么越狱_iPhone11/iPhoneXs iOS13.3越狱来啦
- 电力监控系统在智能建筑电气节能中的应用
热门文章
- yii验证系统学习记录,基于yiicms(一)写的太长了,再写一篇(二)
- sql数据库连接不上本地数据库的解决办法
- 16-Flutter移动电商实战-切换后页面状态的保持AutomaticKeepAliveClientMixin
- 5 微信公众号开发 获取 access_token
- SpringBoot Redis分布式锁
- oracle 其他表空间,Oracle查询表空间使用情况以及其他查询
- consul作为服务注册中心
- springmvc 结合ajax批量新增
- (一)elasticsearch6.1.1安装详细过程
- 【C++学习详细教程目录】