1、通过线程操作
static void Main(string[] args)
{
Console.WriteLine("检测程序启动运行,自动启动或停止网站及应用池。");
new Thread(RecoveryWebSite).Start();//开启线程
}
/// <summary>
/// 停止/启动iis站点
/// </summary>
public static void RecoveryWebSite()
{
const string AppPoolName = "";//iis应用程序池名称
const string WebSiteName = "";//iis网站名称
const int SleepTime = 1000 * 30;//间隔事件:每30秒执行一次
ServerManager sm = new ServerManager();
while (true)
{
try
{
var pool = sm.ApplicationPools[AppPoolName];//根据应用程序池名称获取
if (pool != null)
{
if (pool.State == ObjectState.Stopped)
{
WriteLog("检测到应用池" + AppPoolName + "停止服务");
WriteLog("正在启动应用池" + A