html5中文学习网

您的位置: 首页 > 网站及特效实例 > jquery特效 » 正文

C#程序中操作IIS的应用程序池与站点分配_编程语言综合

[ ] 已经帮助:人解决问题

 一个应用程序池可以有多个站点,一个站点只对应一个应用程序池。53DHTML5中文学习网 - HTML5先行者学习网

编程由来:53DHTML5中文学习网 - HTML5先行者学习网

       存放在一个应用程序池里的站点过多就不便于操作,所以需把其中一些站点分配到其他程序池中。53DHTML5中文学习网 - HTML5先行者学习网

编程题目:53DHTML5中文学习网 - HTML5先行者学习网

      用户输入一个数字或者一个数字+一个名字。程序对站点的所在应用程序池进行统计,用户输入的数字用于限制应用程序池里面的最大容量数,如果超出该容量,将把超出的站点分配到其他程序应用池,或者新建的一个应用程序池,把站点分配进去。53DHTML5中文学习网 - HTML5先行者学习网

如果用户输入一个数字的情况,将遍历所有程序应用池;如果用户输入一个数字+一个名字的情况,将只对该名字的应用程序池进行操作;如果站点的名字和应用程序池的名字一样,将不进行操作。53DHTML5中文学习网 - HTML5先行者学习网

条件:53DHTML5中文学习网 - HTML5先行者学习网

一、把DefautlAppPool应用程序池或者含有字符"AppPool #"的应用程序池里面的超出的站点分配到AppPool #?应用程序池中("?"代表数字)53DHTML5中文学习网 - HTML5先行者学习网

二、如果aspnet1应用程序池里面的网站数超出用户限制的数字,则分配到新建应用程序池的命名方式为aspnet1-?;("?"代表数字,表示从属aspnet1下的分支)53DHTML5中文学习网 - HTML5先行者学习网

三、如二设置aspnet2,aspnet3,aspnet4应用程序池53DHTML5中文学习网 - HTML5先行者学习网

四、当网站名字和应用程序池的名字相同时,将不进行操作53DHTML5中文学习网 - HTML5先行者学习网

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。53DHTML5中文学习网 - HTML5先行者学习网

这是我在公司里面的任务,以下是我公开的代码(还不属于最优化的代码,我把我的制作品拿出来以代表原创性,最优化的代码暂时不公布,如有需要,请联系博主!)53DHTML5中文学习网 - HTML5先行者学习网

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。53DHTML5中文学习网 - HTML5先行者学习网

新建一个控制台应用程序(C#编程语言,使用vs2005版本制作)53DHTML5中文学习网 - HTML5先行者学习网

添加引用:System.DirectoryServices53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

class Program53DHTML5中文学习网 - HTML5先行者学习网

   {53DHTML5中文学习网 - HTML5先行者学习网

       static Hashtable hs = new Hashtable();//创建哈希表,保存池中的站点53DHTML5中文学习网 - HTML5先行者学习网

       static string[] pls;//池数组53DHTML5中文学习网 - HTML5先行者学习网

       static string[] nums;//应用程序池中各自包含的网站数量53DHTML5中文学习网 - HTML5先行者学习网

       static Hashtable boolhs = new Hashtable();//创建哈希表,保存池中站点数量是否满53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

       static void Main(string[] args)53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           string strNum = Console.ReadLine();//用户输入信息53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

           pls = GetApplicationPools();//获取应用程序池名称数组    53DHTML5中文学习网 - HTML5先行者学习网

           foreach (string i in pls)//填充哈希表key值内容53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               hs.Add(i, "");53DHTML5中文学习网 - HTML5先行者学习网

               boolhs.Add(i, "false");53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           getpoolweb();53DHTML5中文学习网 - HTML5先行者学习网

           WebNums();53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

           if (strNum.Length > 1)//判断用户输入的数字+名称53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               string[] pw = strNum.Split(' ');53DHTML5中文学习网 - HTML5先行者学习网

               for (int i = 0; i < pls.Length; i++)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   if (pls[i] == pw[1])53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       if (int.Parse(nums[i]) > int.Parse(pw[0]))53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           boolhs[pls[i]] = "true";//将该池定义站点数量已满53DHTML5中文学习网 - HTML5先行者学习网

                           GetName(pw[1], int.Parse(pw[0]), int.Parse(nums[i]));53DHTML5中文学习网 - HTML5先行者学习网

                           Console.WriteLine("编译完毕!");53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                       else Console.WriteLine("该"+pw[1].ToString()+"应用程序池不需进行操作!");53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           else//判断用户输入的数字53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               for (int i = 0; i < pls.Length; i++)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   if (int.Parse(nums[i]) > int.Parse(strNum))//如果超出53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       boolhs[pls[i]] = "true";//将该池定义站点数量已满53DHTML5中文学习网 - HTML5先行者学习网

                       GetName(pls[i], int.Parse(strNum), int.Parse(nums[i]));53DHTML5中文学习网 - HTML5先行者学习网

                       Console.WriteLine("编译完毕!");53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           Console.ReadLine();53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

       /// <summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// 判断网站名与应用程序池名称是否相等53DHTML5中文学习网 - HTML5先行者学习网

       /// </summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// <param name="wnames">网站名称</param>53DHTML5中文学习网 - HTML5先行者学习网

       /// <returns>相等为假</returns>53DHTML5中文学习网 - HTML5先行者学习网

       public static bool chname(string wnames)53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           bool ctf = true;53DHTML5中文学习网 - HTML5先行者学习网

           foreach (string i in pls)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               if (wnames == i)53DHTML5中文学习网 - HTML5先行者学习网

                   ctf = false;53DHTML5中文学习网 - HTML5先行者学习网

               else ctf = true;53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           return ctf;53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

       /// <summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// 获得池数组对应的网站数量53DHTML5中文学习网 - HTML5先行者学习网

       /// </summary>53DHTML5中文学习网 - HTML5先行者学习网

       static void WebNums()53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           List<string> weblist = new List<string>();53DHTML5中文学习网 - HTML5先行者学习网

           //string[] poolns = pooln.Split(',');53DHTML5中文学习网 - HTML5先行者学习网

           foreach (string i in pls)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               if (hs[i].ToString() != "")53DHTML5中文学习网 - HTML5先行者学习网

                   weblist.Add(hs[i].ToString().Split(',').Length.ToString());53DHTML5中文学习网 - HTML5先行者学习网

               else53DHTML5中文学习网 - HTML5先行者学习网

                   weblist.Add("0");53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           nums = weblist.ToArray();53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

       ///<summary>53DHTML5中文学习网 - HTML5先行者学习网

       ///检测应用程序池的名称53DHTML5中文学习网 - HTML5先行者学习网

       ///</summary>53DHTML5中文学习网 - HTML5先行者学习网

       ///<param name="AppPoolName">应用程序池的名称</param>53DHTML5中文学习网 - HTML5先行者学习网

       ///<param name="c">指定的限制数</param>53DHTML5中文学习网 - HTML5先行者学习网

       ///<param name="inn">该池中网站的数量</param>53DHTML5中文学习网 - HTML5先行者学习网

       ///<returns></returns>53DHTML5中文学习网 - HTML5先行者学习网

       static void GetName(string AppPoolName, int c, int inn)53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

           int si = inn - c;//旧池中站点剩余量53DHTML5中文学习网 - HTML5先行者学习网

           string[] kt = hs[AppPoolName].ToString().Split(',');53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

           while (true)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               int ting = 0;53DHTML5中文学习网 - HTML5先行者学习网

               foreach (string w in pls)53DHTML5中文学习网 - HTML5先行者学习网

                   if (boolhs[w].ToString() == "true")53DHTML5中文学习网 - HTML5先行者学习网

                       ting += 1;53DHTML5中文学习网 - HTML5先行者学习网

               if (ting >= pls.Length) break;53DHTML5中文学习网 - HTML5先行者学习网

               for (int i = 0; i < pls.Length; i++)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   if (boolhs[pls[i]].ToString() == "false")//如果哪个池的站点量可以容纳53DHTML5中文学习网 - HTML5先行者学习网

                   {                      53DHTML5中文学习网 - HTML5先行者学习网

                       int d = c - int.Parse(nums[i]);53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                       if (si < c)53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           for (int j = 0; j < si; j++)53DHTML5中文学习网 - HTML5先行者学习网

                              if (chname(kt[j]))//判断名称是否存在53DHTML5中文学习网 - HTML5先行者学习网

                                 movepool(kt[j], AppPoolName, pls[i]);//转移站点53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                       else53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           for (int j = 0; j < d; j++)53DHTML5中文学习网 - HTML5先行者学习网

                               if (chname(kt[j]))53DHTML5中文学习网 - HTML5先行者学习网

                                   movepool(kt[j], AppPoolName, pls[i]);53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                       if (si-d < 0) break;53DHTML5中文学习网 - HTML5先行者学习网

                       si = si - d;53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                       boolhs[pls[i]] = "true";53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           //需要新建的情况53DHTML5中文学习网 - HTML5先行者学习网

           if(si>0)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               int sy = int.Parse(Math.Ceiling((double)si / (double)c).ToString());//新建多少个53DHTML5中文学习网 - HTML5先行者学习网

               for (int j = 1; j <= sy; j++)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   string ne = "";53DHTML5中文学习网 - HTML5先行者学习网

                   bool bname = false;53DHTML5中文学习网 - HTML5先行者学习网

                   int s = 1;53DHTML5中文学习网 - HTML5先行者学习网

                   while (bname == false)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       if (AppPoolName.StartsWith("aspnet")) ne = AppPoolName + "-" + s;53DHTML5中文学习网 - HTML5先行者学习网

                       else if (AppPoolName.StartsWith("DefaultAppPool") && AppPoolName.StartsWith("AppPool #")) ne = AppPoolName + s;53DHTML5中文学习网 - HTML5先行者学习网

                       bool bne = false;//判断名称是否存在53DHTML5中文学习网 - HTML5先行者学习网

                       foreach (string n in pls)53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           if (n == ne)53DHTML5中文学习网 - HTML5先行者学习网

                           {53DHTML5中文学习网 - HTML5先行者学习网

                               bne = true;53DHTML5中文学习网 - HTML5先行者学习网

                               break;53DHTML5中文学习网 - HTML5先行者学习网

                           }53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                       if (bne == true)53DHTML5中文学习网 - HTML5先行者学习网

                           s += 1;53DHTML5中文学习网 - HTML5先行者学习网

                       else bname = true;53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                   AddAppPool(ne);//新建池53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                   for (int i = 0; i < c ; i++)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                       if (i < si)53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                           if (chname(kt[i]))//判断名称是否存在53DHTML5中文学习网 - HTML5先行者学习网

                           {53DHTML5中文学习网 - HTML5先行者学习网

                               movepool(kt[i], AppPoolName, ne);//转移站点53DHTML5中文学习网 - HTML5先行者学习网

                           }53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                       //if (si < c)53DHTML5中文学习网 - HTML5先行者学习网

                       //{53DHTML5中文学习网 - HTML5先行者学习网

                       //    for (int j = 0; j < si; j++)53DHTML5中文学习网 - HTML5先行者学习网

                       //        movepool(kt[j], AppPoolName, pls[i]);53DHTML5中文学习网 - HTML5先行者学习网

                       //}53DHTML5中文学习网 - HTML5先行者学习网

                       //else53DHTML5中文学习网 - HTML5先行者学习网

                       //{53DHTML5中文学习网 - HTML5先行者学习网

                       //    for (int j = 0; j < d; j++)53DHTML5中文学习网 - HTML5先行者学习网

                       //        movepool(kt[j], AppPoolName, pls[i]);53DHTML5中文学习网 - HTML5先行者学习网

                       //}53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

                   si = si - c;53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

       #region 池与网站的操作(获得所有池;获得指定池的网站名称;移动网站到新池)53DHTML5中文学习网 - HTML5先行者学习网

       /// <summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// 获取应用程序池->数组53DHTML5中文学习网 - HTML5先行者学习网

       /// </summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// <returns></returns>53DHTML5中文学习网 - HTML5先行者学习网

       public static string[] GetApplicationPools()53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           DirectoryEntry directoryEntry = new DirectoryEntry("IIS://LOCALHOST/W3SVC/AppPools");53DHTML5中文学习网 - HTML5先行者学习网

           if (directoryEntry == null) return null;53DHTML5中文学习网 - HTML5先行者学习网

           List<string> list = new List<string>();53DHTML5中文学习网 - HTML5先行者学习网

           foreach (DirectoryEntry entry2 in directoryEntry.Children)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               PropertyCollection properties = entry2.Properties;53DHTML5中文学习网 - HTML5先行者学习网

               list.Add(entry2.Name.ToString().Trim());53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           return list.ToArray();53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

       /// <summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// 获得所有的应用程序池和对应站点53DHTML5中文学习网 - HTML5先行者学习网

       /// </summary>53DHTML5中文学习网 - HTML5先行者学习网

       static void getpoolweb()53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           DirectoryEntry root = null;53DHTML5中文学习网 - HTML5先行者学习网

           try53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               root = new DirectoryEntry("IIS://localhost/W3SVC");53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           catch53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               return;53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           foreach (DirectoryEntry website in root.Children)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               try53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   if (website.SchemaClassName != "IIsWebServer") continue;53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                   string comment = website.Properties["ServerComment"][0].ToString();53DHTML5中文学习网 - HTML5先行者学习网

                   DirectoryEntry siteVDir = website.Children.Find("Root", "IISWebVirtualDir");53DHTML5中文学习网 - HTML5先行者学习网

                   string poolname = "";53DHTML5中文学习网 - HTML5先行者学习网

                   try53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       poolname = siteVDir.Properties["AppPoolId"][0].ToString().Trim();53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

                   catch (Exception ex)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       Console.WriteLine(ex.Message);53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

                   if (poolname == "")53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       try53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           poolname = website.Properties["AppPoolId"][0].ToString().Trim();53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                       catch (Exception ex)53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           Console.WriteLine(ex.Message);53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

                   //if (pooln == "") pooln = poolname;53DHTML5中文学习网 - HTML5先行者学习网

                   //else pooln += "," + poolname;53DHTML5中文学习网 - HTML5先行者学习网

                   //string[] poolns = pooln.Split(',');53DHTML5中文学习网 - HTML5先行者学习网

                   foreach (string i in pls)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       if (i == poolname)53DHTML5中文学习网 - HTML5先行者学习网

                       {53DHTML5中文学习网 - HTML5先行者学习网

                           if (hs[i].ToString() == "")53DHTML5中文学习网 - HTML5先行者学习网

                               hs[i] = comment;53DHTML5中文学习网 - HTML5先行者学习网

                           else hs[i] += "," + comment;53DHTML5中文学习网 - HTML5先行者学习网

                       }53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

               catch (Exception ex)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   Console.WriteLine(ex.Message);53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

           root.Close();53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

       /// <summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// 新建池53DHTML5中文学习网 - HTML5先行者学习网

       /// </summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// <param name="AppPoolName">应用程序池名称</param>53DHTML5中文学习网 - HTML5先行者学习网

       /// <returns></returns>53DHTML5中文学习网 - HTML5先行者学习网

       public static DirectoryEntry AddAppPool(string AppPoolName)53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           try53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");53DHTML5中文学习网 - HTML5先行者学习网

               DirectoryEntry findPool = null;53DHTML5中文学习网 - HTML5先行者学习网

               try53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   findPool = appPool.Children.Find(AppPoolName, "IIsApplicationPool");53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

               catch (Exception) { }53DHTML5中文学习网 - HTML5先行者学习网

               if (findPool == null)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   findPool = appPool.Children.Add(AppPoolName, "IIsApplicationPool");53DHTML5中文学习网 - HTML5先行者学习网

                   findPool.CommitChanges();53DHTML5中文学习网 - HTML5先行者学习网

                   appPool.CommitChanges();53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

               //pooln += "," + AppPoolName;53DHTML5中文学习网 - HTML5先行者学习网

               List<string> a = new List<string>();53DHTML5中文学习网 - HTML5先行者学习网

               foreach (string b in pls)53DHTML5中文学习网 - HTML5先行者学习网

                   a.Add(b);53DHTML5中文学习网 - HTML5先行者学习网

               a.Add(AppPoolName);53DHTML5中文学习网 - HTML5先行者学习网

               pls = a.ToArray();//添加新池到数组中53DHTML5中文学习网 - HTML5先行者学习网

               WebNums();53DHTML5中文学习网 - HTML5先行者学习网

               boolhs.Add(AppPoolName, "false");53DHTML5中文学习网 - HTML5先行者学习网

               return findPool;53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           catch (Exception ex)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               Console.WriteLine(ex.Message);53DHTML5中文学习网 - HTML5先行者学习网

               return null;53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

       /// <summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// 移动网站到新池53DHTML5中文学习网 - HTML5先行者学习网

       /// </summary>53DHTML5中文学习网 - HTML5先行者学习网

       /// <param name="webns">网站名称</param>53DHTML5中文学习网 - HTML5先行者学习网

       /// <param name="poolold">旧池名称</param>53DHTML5中文学习网 - HTML5先行者学习网

       /// <param name="poolns">新池名称</param>53DHTML5中文学习网 - HTML5先行者学习网

       static void movepool(string webns,string poolold, string poolns)53DHTML5中文学习网 - HTML5先行者学习网

       {53DHTML5中文学习网 - HTML5先行者学习网

           try53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

               DirectoryEntry root = new DirectoryEntry("IIS://localhost/W3SVC");53DHTML5中文学习网 - HTML5先行者学习网

               foreach (DirectoryEntry website in root.Children)53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   if (website.SchemaClassName != "IIsWebServer") continue;53DHTML5中文学习网 - HTML5先行者学习网

                   string comment = website.Properties["ServerComment"][0].ToString();53DHTML5中文学习网 - HTML5先行者学习网

                   if (comment == webns)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       DirectoryEntry siteVDir = website.Children.Find("Root", "IISWebVirtualDir");53DHTML5中文学习网 - HTML5先行者学习网

                       siteVDir.Invoke("Put", new object[2] { "AppPoolId", poolns });53DHTML5中文学习网 - HTML5先行者学习网

                       siteVDir.CommitChanges();53DHTML5中文学习网 - HTML5先行者学习网

                       website.Invoke("Put", new object[2] { "AppPoolId", poolns });53DHTML5中文学习网 - HTML5先行者学习网

                       website.CommitChanges();53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

               for (int i = 0; i < pls.Length; i++)//遍历旧池并修改原数目数组的数据53DHTML5中文学习网 - HTML5先行者学习网

               {53DHTML5中文学习网 - HTML5先行者学习网

                   if (pls[i] == poolold)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       nums[i] = (int.Parse(nums[i]) - 1).ToString();53DHTML5中文学习网 - HTML5先行者学习网

                       string[] h = hs[poolold].ToString().Split(',');53DHTML5中文学习网 - HTML5先行者学习网

                       string hnew = "";53DHTML5中文学习网 - HTML5先行者学习网

                       foreach (string s in h)53DHTML5中文学习网 - HTML5先行者学习网

                           if (s != webns)53DHTML5中文学习网 - HTML5先行者学习网

                           {53DHTML5中文学习网 - HTML5先行者学习网

                               if (hnew == "")53DHTML5中文学习网 - HTML5先行者学习网

                                   hnew = s;53DHTML5中文学习网 - HTML5先行者学习网

                               else hnew += "," + s;53DHTML5中文学习网 - HTML5先行者学习网

                           }53DHTML5中文学习网 - HTML5先行者学习网

                       hs[poolold] = hnew;53DHTML5中文学习网 - HTML5先行者学习网

                       if (hs[poolns].ToString() == "") hs[poolns] = webns;53DHTML5中文学习网 - HTML5先行者学习网

                       else hs[poolns] += "," + webns;53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

                   if (pls[i] == poolns)53DHTML5中文学习网 - HTML5先行者学习网

                   {53DHTML5中文学习网 - HTML5先行者学习网

                       WebNums();53DHTML5中文学习网 - HTML5先行者学习网

                       nums[i] = (int.Parse(nums[i]) + 1).ToString();53DHTML5中文学习网 - HTML5先行者学习网

                   }53DHTML5中文学习网 - HTML5先行者学习网

               }53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

           catch (Exception ex)53DHTML5中文学习网 - HTML5先行者学习网

           {53DHTML5中文学习网 - HTML5先行者学习网

 53DHTML5中文学习网 - HTML5先行者学习网

               Console.WriteLine(ex.Message);53DHTML5中文学习网 - HTML5先行者学习网

           }53DHTML5中文学习网 - HTML5先行者学习网

       }53DHTML5中文学习网 - HTML5先行者学习网

       #endregion53DHTML5中文学习网 - HTML5先行者学习网

   }53DHTML5中文学习网 - HTML5先行者学习网

        :更多精彩文章请关注三联编程教程栏目。

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助