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指定网站和指定应用程序池的更多相关文章

  1. 不重启IIS修改dotnet framework版本

    因为公司现在存在.net站点和asp站点共同运行的情况,所以需要对IIS进行一些修改,运行环境Win2003+IIS6 一.起因 原来的老站是asp开发的,用的是.net 2.0运行环境; 新站是.n ...

  2. Python Locust对指定网站“一键压测”

    [本文出自天外归云的博客园] 前篇 前篇:Python Locust性能测试框架实践 本篇 承上——归纳过程 在前篇的基础上,我们可以利用Locust性能测试框架编写python脚本对指定网站或者接口 ...

  3. Qt 打开指定网站/系统文件夹

     本文转载自:http://blog.csdn.net/robertkun/article/details/7802977和http://hi.baidu.com/xyhouse/item/ccf ...

  4. 吴裕雄--天生自然python学习笔记:编写网络爬虫代码获取指定网站的图片

    我们经常会在网上搜索井下载图片,然而一张一张地下载就太麻烦了,本案例 就是通过网络爬虫技术, 一次性下载该网站所有的图片并保存 . 网站图片下载并保存 将指定网站的 .jpg 和 .png 格式的图片 ...

  5. 解决ASP.NET使用IIS架设网站时“服务器应用程序不可用”的方法

    服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的“刷新”按钮重试您的请求. 管理员注意事项: 详述此特定请求失败原因的错误消息可在 Web ...

  6. 批处理命令行CMD启动停止重启IIS的命令

    原文:批处理命令行CMD启动停止重启IIS的命令 启动IIS: net start iisadmin    (IIS的整个服务) net start w3svc       (WWW网页WEB服务) ...

  7. IIS发布网站

    IIS发布网站几个问题 1.部署步骤:http://jingyan.baidu.com/article/3065b3b6e5becdbecff8a4d5.html Win7下IIS报503Servic ...

  8. IIS管理网站浏览

    7.“/”应用程序中的服务器错误. 分析器错误 说明: 在分析向此请求提供服务所需资源时出错.请检查下列特定分析错误详细信息并适当地修改源文件.分析器错误消息: 文件“/Default.aspx.cs ...

  9. 301跳转:IIS服务器网站整站301永久重定向设置方法(阿里云)

    欢迎来到重庆SEO俱乐部:搜索引擎优化学习交流QQ群224306761. 承接:seo优化.网站建设.论坛搭建.博客制作.全网营销 博主可接:百度百家.今日头条.一点资讯等软文发布,有需要请联系PE! ...

随机推荐

  1. 【原创】自己动手写工具----XSmartNote [Beta 3.0]

    一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ...

  2. Python学习总结 01 配置环境

    1 查看python的版本 ubuntu16.04 LTS系统下默认安装了python2.7.12 和python3.5.2, 她们在/usr/bin/下可以找到, 默认用python2.7.8 1) ...

  3. ionic 发布 inoc显示不正确

    前两天因为学习的问题,把本地环境给搞崩了,然后重新安装环境之后发现生成的安装包不能使用,然后找了很多原因都不能解决,因为之前发布ios的时候使用命令 ionic resources的时候就可以将图标显 ...

  4. redis消息队列简单应用

    消息队列出现的原因 随着互联网的高速发展,门户网站.视频直播.电商领域等web应用中,高并发.大数据已经成为基本的标识.淘宝双11.京东618.各种抢购.秒杀活动.以及12306的春运抢票等,他们这些 ...

  5. linux 查看文件大小

    ls -lht

  6. 一起阅读《Java多线程编程核心技术》

    目录 第一章 Java多线程技能 (待续...)

  7. SIP学习笔记(转)

    本文转发自:http://blog.chinaunix.net/uid-20655530-id-1589483.html 学习 SIP 协议最快捷的方法是通过范例来学习, 找到了一个完整的呼叫流程,l ...

  8. java文件上传

    jsp界面代码: <body>  <form action="servlet/UploadServlet" enctype="multipart/for ...

  9. mysql存储过程和存储函数

    mysql存储过程和存储函数 存数函数代码示例: DROP PROCEDURE IF EXISTS calc_ci_day_suc_rate; delimiter // CREATE FUNCTION ...

  10. 计算机维修之操作系统的安装(windows、Mac、Linux)

    从大学开始接触了更多的计算机知识,我就在开荒一样,慢慢的接触多了,就想着安装操作系统一定要学会. 前前后后呢,我折腾过很多操作系统,在我的笔记本上存在过Windows.黑苹果.Linux.安卓等操作系 ...