亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

C#程序中操作IIS的應用程序池與站點分配
來源:易賢網 閱讀:1262 次 日期:2014-08-20 15:23:34
溫馨提示:易賢網小編為您整理了“C#程序中操作IIS的應用程序池與站點分配”,方便廣大網友查閱!

一個應用程序池可以有多個站點,一個站點只對應一個應用程序池。

編程由來:

存放在一個應用程序池里的站點過多就不便于操作,所以需把其中一些站點分配到其他程序池中。

編程題目:

用戶輸入一個數字或者一個數字+一個名字。程序對站點的所在應用程序池進行統計,用戶輸入的數字用于限制應用程序池里面的最大容量數,如果超出該容量,將把超出的站點分配到其他程序應用池,或者新建的一個應用程序池,把站點分配進去。

如果用戶輸入一個數字的情況,將遍歷所有程序應用池;如果用戶輸入一個數字+一個名字的情況,將只對該名字的應用程序池進行操作;如果站點的名字和應用程序池的名字一樣,將不進行操作。

條件:

一、把DefautlAppPool應用程序池或者含有字符"AppPool #"的應用程序池里面的超出的站點分配到AppPool #?應用程序池中("?"代表數字)

二、如果aspnet1應用程序池里面的網站數超出用戶限制的數字,則分配到新建應用程序池的命名方式為aspnet1-?;("?"代表數字,表示從屬aspnet1下的分支)

三、如二設置aspnet2,aspnet3,aspnet4應用程序池

四、當網站名字和應用程序池的名字相同時,將不進行操作

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

這是我在公司里面的任務,以下是我公開的代碼(還不屬于最優化的代碼,我把我的制作品拿出來以代表原創性,最優化的代碼暫時不公布,如有需要,請聯系博主?。?/P>

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

新建一個控制臺應用程序(C#編程語言,使用vs2005版本制作)

添加引用:System.DirectoryServices

class Program

{

static Hashtable hs = new Hashtable();//創建哈希表,保存池中的站點

static string[] pls;//池數組

static string[] nums;//應用程序池中各自包含的網站數量

static Hashtable boolhs = new Hashtable();//創建哈希表,保存池中站點數量是否滿

static void Main(string[] args)

{

string strNum = Console.ReadLine();//用戶輸入信息

pls = GetApplicationPools();//獲取應用程序池名稱數組

foreach (string i in pls)//填充哈希表key值內容

{

hs.Add(i, "");

boolhs.Add(i, "false");

}

getpoolweb();

WebNums();

if (strNum.Length > 1)//判斷用戶輸入的數字+名稱

{

string[] pw = strNum.Split(' ');

for (int i = 0; i < pls.Length; i++)

{

if (pls[i] == pw[1])

{

if (int.Parse(nums[i]) > int.Parse(pw[0]))

{

boolhs[pls[i]] = "true";//將該池定義站點數量已滿

GetName(pw[1], int.Parse(pw[0]), int.Parse(nums[i]));

Console.WriteLine("編譯完畢!");

}

else Console.WriteLine("該"+pw[1].ToString()+"應用程序池不需進行操作!");

}

}

}

else//判斷用戶輸入的數字

{

for (int i = 0; i < pls.Length; i++)

{

if (int.Parse(nums[i]) > int.Parse(strNum))//如果超出

{

boolhs[pls[i]] = "true";//將該池定義站點數量已滿

GetName(pls[i], int.Parse(strNum), int.Parse(nums[i]));

Console.WriteLine("編譯完畢!");

}

}

}

Console.ReadLine();

}

/// <summary>

/// 判斷網站名與應用程序池名稱是否相等

/// </summary>

/// <param name="wnames">網站名稱</param>

/// <returns>相等為假</returns>

public static bool chname(string wnames)

{

bool ctf = true;

foreach (string i in pls)

{

if (wnames == i)

ctf = false;

else ctf = true;

}

return ctf;

}

/// <summary>

/// 獲得池數組對應的網站數量

/// </summary>

static void WebNums()

{

List<string> weblist = new List<string>();

//string[] poolns = pooln.Split(',');

foreach (string i in pls)

{

if (hs[i].ToString() != "")

weblist.Add(hs[i].ToString().Split(',').Length.ToString());

else

weblist.Add("0");

}

nums = weblist.ToArray();

}

///<summary>

///檢測應用程序池的名稱

///</summary>

///<param name="AppPoolName">應用程序池的名稱</param>

///<param name="c">指定的限制數</param>

///<param name="inn">該池中網站的數量</param>

///<returns></returns>

static void GetName(string AppPoolName, int c, int inn)

{

int si = inn - c;//舊池中站點剩余量

string[] kt = hs[AppPoolName].ToString().Split(',');

while (true)

{

int ting = 0;

foreach (string w in pls)

if (boolhs[w].ToString() == "true")

ting += 1;

if (ting >= pls.Length) break;

for (int i = 0; i < pls.Length; i++)

{

if (boolhs[pls[i]].ToString() == "false")//如果哪個池的站點量可以容納

{

int d = c - int.Parse(nums[i]);

if (si < c)

{

for (int j = 0; j < si; j++)

if (chname(kt[j]))//判斷名稱是否存在

movepool(kt[j], AppPoolName, pls[i]);//轉移站點

}

else

{

for (int j = 0; j < d; j++)

if (chname(kt[j]))

movepool(kt[j], AppPoolName, pls[i]);

}

if (si-d < 0) break;

si = si - d;

boolhs[pls[i]] = "true";

}

}

}

//需要新建的情況

if(si>0)

{

int sy = int.Parse(Math.Ceiling((double)si / (double)c).ToString());//新建多少個

for (int j = 1; j <= sy; j++)

{

string ne = "";

bool bname = false;

int s = 1;

while (bname == false)

{

if (AppPoolName.StartsWith("aspnet")) ne = AppPoolName + "-" + s;

else if (AppPoolName.StartsWith("DefaultAppPool") && AppPoolName.StartsWith("AppPool #")) ne = AppPoolName + s;

bool bne = false;//判斷名稱是否存在

foreach (string n in pls)

{

if (n == ne)

{

bne = true;

break;

}

}

if (bne == true)

s += 1;

else bname = true;

}

AddAppPool(ne);//新建池

for (int i = 0; i < c ; i++)

{

if (i < si)

{

if (chname(kt[i]))//判斷名稱是否存在

{

movepool(kt[i], AppPoolName, ne);//轉移站點

}

}

//if (si < c)

//{

// for (int j = 0; j < si; j++)

// movepool(kt[j], AppPoolName, pls[i]);

//}

//else

//{

// for (int j = 0; j < d; j++)

// movepool(kt[j], AppPoolName, pls[i]);

//}

}

si = si - c;

}

}

}

#region 池與網站的操作(獲得所有池;獲得指定池的網站名稱;移動網站到新池)

/// <summary>

/// 獲取應用程序池->數組

/// </summary>

/// <returns></returns>

public static string[] GetApplicationPools()

{

DirectoryEntry directoryEntry = new DirectoryEntry("IIS://LOCALHOST/W3SVC/AppPools");

if (directoryEntry == null) return null;

List<string> list = new List<string>();

foreach (DirectoryEntry entry2 in directoryEntry.Children)

{

PropertyCollection properties = entry2.Properties;

list.Add(entry2.Name.ToString().Trim());

}

return list.ToArray();

}

/// <summary>

/// 獲得所有的應用程序池和對應站點

/// </summary>

static void getpoolweb()

{

DirectoryEntry root = null;

try

{

root = new DirectoryEntry("IIS://localhost/W3SVC");

}

catch

{

return;

}

foreach (DirectoryEntry website in root.Children)

{

try

{

if (website.SchemaClassName != "IIsWebServer") continue;

string comment = website.Properties["ServerComment"][0].ToString();

DirectoryEntry siteVDir = website.Children.Find("Root", "IISWebVirtualDir");

string poolname = "";

try

{

poolname = siteVDir.Properties["AppPoolId"][0].ToString().Trim();

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

if (poolname == "")

{

try

{

poolname = website.Properties["AppPoolId"][0].ToString().Trim();

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

}

//if (pooln == "") pooln = poolname;

//else pooln += "," + poolname;

//string[] poolns = pooln.Split(',');

foreach (string i in pls)

{

if (i == poolname)

{

if (hs[i].ToString() == "")

hs[i] = comment;

else hs[i] += "," + comment;

}

}

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

}

root.Close();

}

/// <summary>

/// 新建池

/// </summary>

/// <param name="AppPoolName">應用程序池名稱</param>

/// <returns></returns>

public static DirectoryEntry AddAppPool(string AppPoolName)

{

try

{

DirectoryEntry appPool = new DirectoryEntry("IIS://localhost/W3SVC/AppPools");

DirectoryEntry findPool = null;

try

{

findPool = appPool.Children.Find(AppPoolName, "IIsApplicationPool");

}

catch (Exception) { }

if (findPool == null)

{

findPool = appPool.Children.Add(AppPoolName, "IIsApplicationPool");

findPool.CommitChanges();

appPool.CommitChanges();

}

//pooln += "," + AppPoolName;

List<string> a = new List<string>();

foreach (string b in pls)

a.Add(b);

a.Add(AppPoolName);

pls = a.ToArray();//添加新池到數組中

WebNums();

boolhs.Add(AppPoolName, "false");

return findPool;

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

return null;

}

}

/// <summary>

/// 移動網站到新池

/// </summary>

/// <param name="webns">網站名稱</param>

/// <param name="poolold">舊池名稱</param>

/// <param name="poolns">新池名稱</param>

static void movepool(string webns,string poolold, string poolns)

{

try

{

DirectoryEntry root = new DirectoryEntry("IIS://localhost/W3SVC");

foreach (DirectoryEntry website in root.Children)

{

if (website.SchemaClassName != "IIsWebServer") continue;

string comment = website.Properties["ServerComment"][0].ToString();

if (comment == webns)

{

DirectoryEntry siteVDir = website.Children.Find("Root", "IISWebVirtualDir");

siteVDir.Invoke("Put", new object[2] { "AppPoolId", poolns });

siteVDir.CommitChanges();

website.Invoke("Put", new object[2] { "AppPoolId", poolns });

website.CommitChanges();

}

}

for (int i = 0; i < pls.Length; i++)//遍歷舊池并修改原數目數組的數據

{

if (pls[i] == poolold)

{

nums[i] = (int.Parse(nums[i]) - 1).ToString();

string[] h = hs[poolold].ToString().Split(',');

string hnew = "";

foreach (string s in h)

if (s != webns)

{

if (hnew == "")

hnew = s;

else hnew += "," + s;

}

hs[poolold] = hnew;

if (hs[poolns].ToString() == "") hs[poolns] = webns;

else hs[poolns] += "," + webns;

}

if (pls[i] == poolns)

{

WebNums();

nums[i] = (int.Parse(nums[i]) + 1).ToString();

}

}

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

}

#endregion

}

更多信息請查看IT技術專欄

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
一区二区久久| 国内精品亚洲| 黄色工厂这里只有精品| 欧美韩国一区| 欧美日韩精选| 国内一区二区三区在线视频| 欧美日韩高清在线一区| 国产综合欧美在线看| 伊人激情综合| 国产精品一页| 欧美精品一卡| 在线日本高清免费不卡| 国产日韩1区| 欧美精品一区二区三区在线看午夜 | 久久国产主播精品| 欧美精品七区| 国产日韩三区| 91久久精品国产91久久性色tv| 国产精品人人爽人人做我的可爱| 久久精精品视频| 亚洲激情二区| 国产精品国产三级国产专区53| 一本色道88久久加勒比精品| 午夜性色一区二区三区免费视频| 在线亚洲自拍| 国产在线日韩| 欧美激情日韩| 久久综合一区| 亚洲一区三区视频在线观看| 欧美jizzhd精品欧美巨大免费| 亚洲午夜精品国产| 国产精品日本欧美一区二区三区| 欧美日韩爆操| 久久综合九色综合欧美狠狠| 性色一区二区三区| 亚洲一区二区三区四区中文| 欧美精品观看| 久热精品在线| 小嫩嫩精品导航| 国产精品一国产精品k频道56| 欧美日韩亚洲免费| 久久亚洲美女| 午夜国产精品视频| 亚洲欧美一区在线| 欧美日本中文| 欧美精品三级| 欧美日韩一卡| 欧美日韩一区在线视频| 久久久久久久久久码影片| 久久国产精品高清| 国产精品一区视频网站| 免费h精品视频在线播放| 国产日本精品| 久久国产99| 午夜精品影院| 在线日本成人| 一区二区三区国产盗摄| 国产三区精品| 久久性天堂网| 韩国在线一区| 一区二区精品在线| 久久大逼视频| 亚洲视频福利| 亚洲一区成人| 欧美粗暴jizz性欧美20| 影音先锋国产精品| 亚洲一区三区电影在线观看| 久久久久久国产精品mv| 欧美日韩在线大尺度| 亚洲国产91| 麻豆九一精品爱看视频在线观看免费| 欧美另类综合| 国产一区二区三区久久| 欧美在线看片| 国产精品久久国产三级国电话系列 | 亚洲国产高清一区| 亚洲一区二区毛片| 欧美日韩另类丝袜其他| 99视频+国产日韩欧美| 激情av一区| 国产日韩欧美一区在线| 欧美日韩国产探花| 一区二区三区福利| 国产一区二区三区四区hd| 国产欧美日本在线| 亚洲午夜在线| 欧美一区二区三区四区在线观看地址 | 免费看亚洲片| 国产综合自拍| 午夜在线视频观看日韩17c| 国内在线观看一区二区三区| 久久久www免费人成黑人精品| 最近看过的日韩成人| 欧美一区免费| 亚洲欧美日韩视频二区| 999在线观看精品免费不卡网站| 久久看片网站| 乱人伦精品视频在线观看| 亚洲精品女人| 亚洲国产日韩在线| 狠狠色噜噜狠狠狠狠色吗综合| 久久久水蜜桃av免费网站| 国产精品久久久亚洲一区| 在线欧美视频| 亚洲精品日韩精品| 在线播放精品| 激情欧美国产欧美| 激情偷拍久久| 永久域名在线精品| 亚洲激情一区| 亚洲国产裸拍裸体视频在线观看乱了中文 | 久久福利精品| 亚洲中午字幕| 亚洲综合视频一区| 国产精品日韩二区| 国产午夜久久| 国产日韩一区二区三区在线播放 | 狠狠久久婷婷| 国产尤物精品| 欧美片第1页综合| 欧美福利影院| 欧美天天在线| 亚洲成人自拍视频| 亚洲精品精选| 亚洲综合日本| 欧美在线高清| 亚洲午夜视频| 国产情侣久久| 久久激情一区| 黄色亚洲免费| 国产精品免费区二区三区观看| 一本色道精品久久一区二区三区 | 久久久久久亚洲精品杨幂换脸 | 99日韩精品| 亚洲一区二区在线免费观看| 99爱精品视频| 国产日韩一区二区三区在线| 久久都是精品| 欧美日韩亚洲一区三区| 在线日韩av| 亚洲一区二区三区精品在线观看 | 亚洲一区中文| 欧美激情aⅴ一区二区三区| 国产精品扒开腿做爽爽爽软件| 影院欧美亚洲| 亚洲一区一卡| 亚洲午夜一级| 激情成人综合| 夜夜精品视频| 亚洲综合精品四区| 国产精品av一区二区| 最新亚洲视频| 亚洲小说欧美另类婷婷| 亚洲经典视频在线观看| 亚洲一区国产| 黄色一区二区三区四区| 亚洲尤物在线| 亚洲第一区色| 欧美日韩91| 亚洲欧美电影在线观看| 激情视频一区二区| 久久蜜桃资源一区二区老牛| 在线国产日韩| 老司机精品视频网站| 一本一本a久久| 国产精品九九| 欧美精品尤物在线| 欧美一级专区| 国产女优一区| 99视频一区| 精品白丝av| 欧美日韩亚洲一区| 午夜日本精品| 欧美在线国产| 欧美1区3d| 美女精品在线| 亚洲一区bb| 国产日韩欧美一区二区三区在线观看 | 红桃视频国产精品| 欧美久久影院| 你懂的成人av| 欧美一区亚洲二区| 久久欧美肥婆一二区| 亚洲一区二区动漫| 亚洲尤物影院| 免费视频一区| 久久综合一区二区三区| 欧美在线亚洲| 欧美午夜在线| 伊人成年综合电影网| 伊人久久av导航| 亚洲国内欧美| 一本久久综合| 蜜乳av另类精品一区二区| 久久激情网站| 欧美天堂亚洲电影院在线观看| 欧美阿v一级看视频| 欧美日韩免费观看一区| 极品av少妇一区二区| 亚洲国产精品久久久久久女王| 亚洲日韩视频| 在线一区欧美| 久久精品麻豆| 国产综合第一页| 亚洲国产专区校园欧美| 国产日韩亚洲欧美精品| 翔田千里一区二区| 欧美韩日精品| 亚洲激情av| 噜噜噜躁狠狠躁狠狠精品视频| 老司机免费视频久久| 黑丝一区二区三区| 亚洲一区精品视频| 欧美大片专区| 亚洲精品在线二区| 久久动漫亚洲| 狠色狠色综合久久| 国产精品日本| 国产精品二区影院| 国产女主播一区二区三区| 久久人人97超碰国产公开结果| 国自产拍偷拍福利精品免费一| 亚洲精品一二| 久久免费一区| 亚洲青涩在线| 久久久久久久欧美精品| 91久久久久| 欧美精品一区二区三区久久久竹菊| 亚洲欧洲一二三| 欧美日韩 国产精品| 国产视频亚洲| 在线看片一区| 欧美精选在线| 午夜在线a亚洲v天堂网2018| 在线日本成人| 欧美激情在线| 午夜一区二区三区不卡视频| 91久久久久| 韩国欧美一区| 欧美一区二区三区四区夜夜大片| 亚洲日本视频| 黄色另类av| 欧美日韩专区| 久久久久久一区二区| 国产精品视频福利| 一本一道久久综合狠狠老精东影业| 欧美福利一区二区三区| 免费日韩视频| 亚洲一区二区在| 国产女优一区| 亚洲女人av| 国产精品久久久一区二区三区| 红桃视频国产一区| 好吊日精品视频| 欧美日韩免费| 欧美日韩国产综合在线| 欧美一区影院| 欧美色123| 韩日视频一区| 精品成人久久| 伊人天天综合| 99精品热视频只有精品10| 亚洲国产精品第一区二区三区| 国产精品国产三级国产专区53| 欧美精品不卡| 黄色国产精品| 亚洲麻豆一区| 一区二区日本视频| 亚洲一区国产| 久久婷婷激情| 欧美视频久久| 日韩视频二区| 一区二区毛片| 国产麻豆综合| 老司机午夜免费精品视频| 欧美1区2区视频| 激情91久久| 一区二区三区福利| 久久精品官网| 伊人久久婷婷色综合98网| 亚洲免费高清| 久久人人97超碰国产公开结果| 禁久久精品乱码| 亚洲三级影院| av成人毛片| 鲁大师影院一区二区三区| 免费一区二区三区| 久久一综合视频| 欧美日本中文| 极品日韩av| 国产精品日本| 久久婷婷丁香| 国产综合欧美| 国产欧美短视频| 久久精品女人| 精品动漫3d一区二区三区免费| 亚洲黄色在线| 另类av一区二区| 欧美天天视频| 国产精品一二| 国产精品v欧美精品v日韩精品| 亚洲成人在线| 久久久www免费人成黑人精品| 国产一区二区无遮挡| 一本色道久久综合亚洲精品高清| 噜噜噜噜噜久久久久久91 | 狼狼综合久久久久综合网| 国产综合精品一区| 亚洲欧美国产精品桃花| 国产精品二区影院| 久久精品成人| 亚洲茄子视频| 欧美激情综合色综合啪啪| 国产欧美精品久久| 国内精品一区二区| 狂野欧美一区| 国产精品久久国产愉拍| 欧美日韩p片| 另类图片国产| 国产精品一国产精品k频道56| 亚洲视频碰碰| 欧美国产高清| 久热这里只精品99re8久| 国产欧美综合一区二区三区| 国产在线观看一区| 欧美国产高清| 可以看av的网站久久看| 亚洲欧美日韩视频二区| 99国产精品久久久久久久成人热| 欧美成人日本| 麻豆精品网站| 亚洲欧美视频一区二区三区| 99视频国产精品免费观看| 亚洲大胆av| 在线观看日韩av电影| 欧美日韩一区自拍| 欧美日本一区二区视频在线观看| 先锋影音久久| 麻豆9191精品国产| 久久激情中文| 老司机免费视频久久| 老司机精品导航| 午夜精品久久| 欧美日韩1区| 狠狠色综合一区二区| 国产在线欧美| 在线免费观看一区二区三区| 影音先锋亚洲精品| 一本色道88久久加勒比精品| 夜夜嗨一区二区| 国产伦精品一区二区| 翔田千里一区二区| 老**午夜毛片一区二区三区| 欧美日韩99| 亚洲国产精品久久久久久女王 | 久久精品国产清高在天天线| 国产精品日韩欧美一区二区三区| 国产日韩欧美二区| 午夜亚洲性色视频| 午夜精品一区二区三区四区| 国模精品娜娜一二三区| 亚洲激情国产| 免费在线亚洲| 国产在线精品二区| 亚洲麻豆视频| 蜜桃av久久久亚洲精品| 欧美日韩国产免费观看| 91久久久一线二线三线品牌| 亚洲专区一区二区三区| 牛牛国产精品| 日韩视频中文| 久久国产福利| 一区视频在线| 久久精品中文字幕一区二区三区| 午夜日韩福利| 夜夜嗨一区二区| 亚洲欧美在线网| 国产欧美日本在线| 欧美日韩亚洲一区| 中文网丁香综合网| 欧美日韩在线高清| 国产精品社区| 亚洲成人资源| 久久精品中文| 亚洲看片免费| 久久中文在线| 99精品视频免费全部在线| 午夜日韩av| 国产日韩一区二区三区| 国产精品v亚洲精品v日韩精品| 国产一区二区高清| 狠狠色噜噜狠狠色综合久| 久久黄色影院| 国产日韩1区| 影音先锋一区| 国产精品v欧美精品v日本精品动漫 | 欧美 日韩 国产在线| 国产午夜精品一区二区三区欧美| 欧美精品播放| 久久最新视频|