我想用代码实现关闭IIS服务和开启IIS服务,请高手指教!

解决方案 »

  1.   


    using System.Diagnostics;  
    using System.ServiceProcess;  ServiceController sc = new ServiceController("iisadmin");  
    if (sc.Status == ServiceControllerStatus.Running)  
    {  
    sc.Stop();//停止  
    }  
    ServiceController sc = new ServiceController("iisadmin");  
    sc.Start();//启动  
    Process.Start("iisreset");//重启  
      

  2.   

    代码需要引入一个 Microsoft.Web.Administration.dll,文件位置在 \Windows\System32\inetsrv 目录。核心代码:         /// <summary>
            /// 关闭其它站点,只开启输入名称的站点
             /// </summary>
            /// <param name="startSiteName"></param>
            private static void StartWebsite(string startSiteName)
            {            var webManager = new Microsoft.Web.Administration.ServerManager();
                var startSite = webManager.Sites[startSiteName];
                if (startSite == null)
                {
                    Console.WriteLine("Can't not find site:{0}", startSiteName);
                    return;
                }            foreach (var site in webManager.Sites)
                {
                    if (site.Name != startSiteName)
                        site.Stop();
                }            startSite.Start();
            }