C#重启IIS指定网站和指定应用程序池
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using Microsoft.Web.Administration; namespace RecoveryWebSite
{
public class Program
{
const string AppPoolName = "POD";
const string WebSiteName = "POD";
const int SleepTime = * ;
static ServerManager sm; static void Main(string[] args)
{
Console.WriteLine("检测程序启动,当POD网站或其应用池停下后,会自动启动。");
sm = new ServerManager();
new Thread(RecoveryWebSite).Start();
} static void RecoveryWebSite()
{
while (true)
{
try
{
var pool = sm.ApplicationPools[AppPoolName];
if (pool != null && pool.State == ObjectState.Stopped)
{
WriteLog("检测到应用池" + AppPoolName + "停止服务");
WriteLog("正在启动应用池" + AppPoolName);
if (pool.Start() == ObjectState.Started)
{
WriteLog("成功启动应用池" + AppPoolName);
}
else
{
WriteLog("启动应用池" + AppPoolName + "失败. " + SleepTime / + "秒后重试启动");
}
} var site = sm.Sites[WebSiteName];
if (site != null && site.State == ObjectState.Stopped)
{
WriteLog("检测到网站" + WebSiteName + "停止服务");
WriteLog("正在启动网站" + WebSiteName);
if (site.Start() == ObjectState.Started)
{
WriteLog("成功启动网站" + WebSiteName);
}
else
{
WriteLog("启动网站" + WebSiteName + "失败. " + SleepTime / + "秒后重试启动");
}
}
}
catch (Exception ex)
{
WriteLog(ex.Message.ToString());
} GC.Collect();
Thread.Sleep(SleepTime);
}
} static void WriteLog(string msg)
{
var fPath = "c:\\RecoveryWebsiteLog.txt";
if (!File.Exists(fPath))
{
File.Create(fPath).Close();
} using (StreamWriter sw = new StreamWriter(fPath, true, Encoding.UTF8))
{
sw.WriteLine(string.Format("{0} , 时间{1}", msg, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff")));
}
//GC.Collect();
}
}
}
Microsoft.Web.Administration命名空间,可以用nuget添加 .
C#重启IIS指定网站和指定应用程序池的更多相关文章
- 不重启IIS修改dotnet framework版本
因为公司现在存在.net站点和asp站点共同运行的情况,所以需要对IIS进行一些修改,运行环境Win2003+IIS6 一.起因 原来的老站是asp开发的,用的是.net 2.0运行环境; 新站是.n ...
- Python Locust对指定网站“一键压测”
[本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...
- Qt 打开指定网站/系统文件夹
本文转载自:http://blog.csdn.net/robertkun/article/details/7802977和http://hi.baidu.com/xyhouse/item/ccf ...
- 吴裕雄--天生自然python学习笔记:编写网络爬虫代码获取指定网站的图片
我们经常会在网上搜索井下载图片,然而一张一张地下载就太麻烦了,本案例 就是通过网络爬虫技术, 一次性下载该网站所有的图片并保存 . 网站图片下载并保存 将指定网站的 .jpg 和 .png 格式的图片 ...
- 解决ASP.NET使用IIS架设网站时“服务器应用程序不可用”的方法
服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误消息可在 Web ...
- 批处理命令行CMD启动停止重启IIS的命令
原文:批处理命令行CMD启动停止重启IIS的命令 启动IIS: net start iisadmin (IIS的整个服务) net start w3svc (WWW网页WEB服务) ...
- IIS发布网站
IIS发布网站几个问题 1.部署步骤:http://jingyan.baidu.com/article/3065b3b6e5becdbecff8a4d5.html Win7下IIS报503Servic ...
- IIS管理网站浏览
7.“/”应用程序中的服务器错误. 分析器错误 说明: 在分析向此请求提供服务所需资源时出错.请检查下列特定分析错误详细信息并适当地修改源文件.分析器错误消息: 文件“/Default.aspx.cs ...
- 301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云)
欢迎来到重庆SEO俱乐部:搜索引擎优化学习交流QQ群224306761. 承接:seo优化.网站建设.论坛搭建.博客制作.全网营销 博主可接:百度百家.今日头条.一点资讯等软文发布,有需要请联系PE! ...
随机推荐
- thinkphp中的查询语句
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- [Android]学习笔记之布局
5大布局,其中前3个是常用的,第四个绝对布局已经提示deprecated  { dynamic obj = value; try { return obj.Name; } cat ...
- iOS and JAVA 的 RSA 加密解密 (转载整理 )
参考原文地址:http://www.cnblogs.com/makemelike/articles/3802518.html (至于RSA的基本原理,大家可以看 阮一峰的网络日志 的 RSA算法原理( ...
- Spring Boot整合Dubbo框架demo
Dubbo框架原理见之前的博文:http://www.cnblogs.com/umgsai/p/5836925.html 首先启动zookeeper Server端 Pom配置如下 <?xml ...
- redis 基础知识
1.安装 sudo apt-get install redis-server 检查Redis服务器程序,执行:ps -aux|grep redis 命令检查Redis服务器状态,执行:netstat ...
- Android常用组件之AutoCompleteTextView
安卓组件中,凡是需要配置数据的组件,一般都是用Adapter配置. AutoCompleteTextView的使用方法与ListView类似,也是用setAdapter来设置数据. MultiAuto ...
- Linux平台开发指南
声明:以下内容摘自http://www.me115.com/post/25.html 以下技术和工具是Linux平台下工作的基础,熟练掌握: C++ 工作语言,重要性不言而喻: 入门: <C++ ...
- 静态界面传值javascript
一:JavaScript静态页面值传递之URL篇能过URL进行传值.把要传递的信息接在URL上.Post.htm 复制代码代码如下: <input type="text" n ...
- (转)System.Drawing.Color的颜色对照表
经常使用System.Drawing.Color, 本篇介绍一下颜色与名称及RGB值的对应关系. 1. 颜色与名称的对照表(点击下图放大看): 2. 颜色与RGB值对照表: Color.AliceBl ...