国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.net重啟iis線程池和iis站點程序代碼分享

2020-01-17 23:39:18
字體:
供稿:網(wǎng)友

重啟站點:

復(fù)制代碼 代碼如下:

 /// <summary>
        /// 根據(jù)名字重啟站點.(沒重啟線程池)
        /// </summary>
        /// <param name="sitename"></param>
        static void RestartWEbSite(string sitename)
        {
            try
            {
                var server = new ServerManager();
                var site = server.Sites.FirstOrDefault(s => s.Name == sitename);
                if (site != null)
                {
                    site.Stop();
                    if (site.State == ObjectState.Stopped)
                    {
                    }
                    else
                    {
                        Console.WriteLine("Could not stop website!");
                        throw new InvalidOperationException("Could not stop website!");
                    }
                    site.Start();
                }
                else
                {
                    Console.WriteLine("Could not find website!");

                    throw new InvalidOperationException("Could not find website!");
                }

            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

        /// <summary>
        /// 重啟完之后.要再檢測下.是否開啟了
        /// </summary>
        /// <param name="sitename"></param>
        static void FixWebsite(string sitename)
        {
            try
            {
                var server = new ServerManager();
                var site = server.Sites.FirstOrDefault(s => s.Name == sitename);
                if (site != null)
                {
                    if (site.State != ObjectState.Started)
                    {
                        Thread.Sleep(500);

                        //防止?fàn)顟B(tài)為正在開啟
                        if (site.State != ObjectState.Started)
                        {
                            site.Start();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }

重啟iis線程池:

復(fù)制代碼 代碼如下:

/// <summary>
        /// 線程池名字
        /// </summary>
        /// <param name="name"></param>
        static void RestartIISPool(string name)
        {
            string[] cmds = { "c:", @"cd %windir%/system32/inetsrv", string.Format("appcmd stop apppool /apppool.name:{0}", name), string.Format("appcmd start apppool /apppool.name:{0}", name) };
            Cmd(cmds);
            CloseProcess("cmd.exe");
        }

        /// <summary>
        /// 運行CMD命令
        /// </summary>
        /// <param name="cmd">命令</param>
        /// <returns></returns>
        public static string Cmd(string[] cmd)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            p.StandardInput.AutoFlush = true;
            for (int i = 0; i < cmd.Length; i++)
            {
                p.StandardInput.WriteLine(cmd[i]);
            }
            p.StandardInput.WriteLine("exit");

            string strRst = p.StandardOutput.ReadToEnd();

            //Debug.Print(strRst);

            p.WaitForExit();
            p.Close();
            return strRst;
        }

        /// <summary>
        /// 關(guān)閉進(jìn)程
        /// </summary>
        /// <param name="ProcName">進(jìn)程名稱</param>
        /// <returns></returns>
        public static bool CloseProcess(string ProcName)
        {
            bool result = false;
            var procList = new ArrayList();
            foreach (Process thisProc in Process.GetProcesses())
            {
                var tempName = thisProc.ToString();
                int begpos = tempName.IndexOf("(") + 1;
                int endpos = tempName.IndexOf(")");
                tempName = tempName.Substring(begpos, endpos - begpos);
                procList.Add(tempName);
                if (tempName == ProcName)
                {
                    if (!thisProc.CloseMainWindow())
                        thisProc.Kill(); // 當(dāng)發(fā)送關(guān)閉窗口命令無效時強行結(jié)束進(jìn)程
                    result = true;
                }
            }
            return result;
        }

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 武强县| 永和县| 张家界市| 民和| 宽城| 马关县| 泸州市| 夏津县| 信丰县| 吴桥县| 临汾市| 花垣县| 阳东县| 黄陵县| 霍林郭勒市| 偏关县| 睢宁县| 铁力市| 龙里县| 台北县| 全椒县| 滁州市| 库尔勒市| 旬阳县| 磐安县| 勃利县| 洞口县| 丽水市| 新疆| 民和| 无锡市| 马山县| 平安县| 邳州市| 泗洪县| 富川| 宜兰县| 开封县| 汤阴县| 宣武区| 仪陇县|