濮阳杆衣贸易有限公司

主頁 > 知識庫 > .net重啟iis線程池和iis站點程序代碼分享

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

熱門標簽:廣州銷售外呼系統(tǒng)定制 400電話辦理信任翰諾科技 ai電銷機器人對貸款有幫助嗎 地圖標注多少錢一張 宿遷智能外呼系統(tǒng)排名 云狐人工智能電話機器人 福州人工智能電銷機器人加盟 電銷機器人 數(shù)據(jù) 怎樣給陜西地圖標注顏色

重啟站點:

復(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);

                        //防止狀態(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)閉進程
        /// /summary>
        /// param name="ProcName">進程名稱/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(); // 當發(fā)送關(guān)閉窗口命令無效時強行結(jié)束進程
                    result = true;
                }
            }
            return result;
        }

您可能感興趣的文章:
  • C#實現(xiàn)線程池的簡單示例
  • c++版線程池和任務(wù)池示例
  • C#線程池用法詳細介紹
  • 利用ace的ACE_Task等類實現(xiàn)線程池的方法詳解
  • 在Android線程池里運行代碼任務(wù)實例
  • 支持生產(chǎn)阻塞的Java線程池
  • python線程池的實現(xiàn)實例
  • 線程池的原理與實現(xiàn)詳解
  • 深入java線程池的使用詳解
  • java中通用的線程池實例代碼
  • Java代碼構(gòu)建一個線程池
  • C++線程池的簡單實現(xiàn)方法

標簽:宜春 延安 焦作 新疆 曲靖 大興安嶺 綿陽 黃南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《.net重啟iis線程池和iis站點程序代碼分享》,本文關(guān)鍵詞  .net,重啟,iis,線程,池,和,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《.net重啟iis線程池和iis站點程序代碼分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于.net重啟iis線程池和iis站點程序代碼分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    基隆市| 迁西县| 车致| 阳江市| 曲阳县| 治多县| 天祝| 渭南市| 姚安县| 略阳县| 水富县| 广汉市| 渝北区| 永泰县| 黄龙县| 肥乡县| 孟连| 蒲城县| 慈溪市| 耒阳市| 正宁县| 新干县| 凤冈县| 蒲城县| 张家川| 洮南市| 邓州市| 扶沟县| 桓台县| 凌云县| 商水县| 广德县| 巴彦县| 介休市| 神池县| 克拉玛依市| 西平县| 都匀市| 苏尼特左旗| 宝鸡市| 剑阁县|