亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C# > 正文

用C#操縱IIS(代碼)

2020-01-24 03:50:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

using System; 
using System.DirectoryServices; 
using System.Collections; 
using System.Text.RegularExpressions; 
using System.Text; 
/** 
 * @author 吳海燕 
 * @email  wuhy80-usual@yahoo.com 
 * 2004-6-25 第一版 
 */  
namespace Wuhy.ToolBox 

     /// <summary> 
     ///  這個(gè)類是靜態(tài)類。用來(lái)實(shí)現(xiàn)管理IIS的基本操作。 
     ///  管理IIS有兩種方式,一是ADSI,一是WMI。由于系統(tǒng)限制的原因,只好選擇使用ADSI實(shí)現(xiàn)功能。 
     ///  這是一個(gè)遺憾。只有等到只有使用IIS 6的時(shí)候,才有可能使用WMI來(lái)管理系統(tǒng) 
     ///  不過(guò)有一個(gè)問(wèn)題就是,我現(xiàn)在也覺(jué)得這樣的一個(gè)方法在本地執(zhí)行會(huì)比較的好。最好不要遠(yuǎn)程執(zhí)行。 
     ///  因?yàn)槟菢有枰加孟喈?dāng)數(shù)量的帶寬,即使要遠(yuǎn)程執(zhí)行,也是推薦在同一個(gè)網(wǎng)段里面執(zhí)行 
     /// </summary> 
     public class IISAdminLib 
     { 
          #region UserName,Password,HostName的定義 
         public static string HostName 
         { 
              get 
              { 
                   return hostName; 
              } 
              set 
              { 
                   hostName = value; 
              } 
         } 
         public static string UserName 
         { 
              get 
              { 
                   return userName; 
              } 
              set 
              { 
                   userName = value; 
              } 
         } 
         public static string Password 
         { 
              get 
              { 
                   return password; 
              } 
              set 
              { 
                   if(UserName.Length <= 1) 
                   { 
                       throw new ArgumentException("還沒(méi)有指定好用戶名。請(qǐng)先指定用戶名"); 
                   } 
                   password = value; 
              } 
         } 
         public static void RemoteConfig(string hostName, string userName, string password) 
         { 
              HostName = hostName; 
              UserName = userName; 
              Password = password; 
         } 
          private static string hostName = "localhost"; 
          private static string userName; 
          private static string password; 
          #endregion 
          #region 根據(jù)路徑構(gòu)造Entry的方法 
         /// <summary> 
         ///  根據(jù)是否有用戶名來(lái)判斷是否是遠(yuǎn)程服務(wù)器。 
         ///  然后再構(gòu)造出不同的DirectoryEntry出來(lái) 
         /// </summary> 
         /// <param name="entPath">DirectoryEntry的路徑</param> 
         /// <returns>返回的是DirectoryEntry實(shí)例</returns> 
         public static DirectoryEntry GetDirectoryEntry(string entPath) 
         { 
              DirectoryEntry ent; 
              if(UserName == null) 
              { 
                   ent = new DirectoryEntry(entPath); 
              } 
              else 
              { 
                   //    ent = new DirectoryEntry(entPath, HostName+"http://"+UserName, Password, AuthenticationTypes.Secure); 
                   ent = new DirectoryEntry(entPath, UserName, Password, AuthenticationTypes.Secure); 
              } 
              return ent; 
         } 
          #endregion 
          #region 添加,刪除網(wǎng)站的方法 
         /// <summary> 
         ///  創(chuàng)建一個(gè)新的網(wǎng)站。根據(jù)傳過(guò)來(lái)的信息進(jìn)行配置 
         /// </summary> 
         /// <param name="siteInfo">存儲(chǔ)的是新網(wǎng)站的信息</param> 
         public static void CreateNewWebSite(NewWebSiteInfo siteInfo) 
         { 
              if(! EnsureNewSiteEnavaible(siteInfo.BindString)) 
              { 
                   throw new DuplicatedWebSiteException("已經(jīng)有了這樣的網(wǎng)站了。" + Environment.NewLine + siteInfo.BindString); 
              } 
              string entPath = String.Format("IIS://{0}/w3svc", HostName); 
              DirectoryEntry rootEntry = GetDirectoryEntry(entPath); 
              string newSiteNum = GetNewWebSiteID(); 
              DirectoryEntry newSiteEntry = rootEntry.Children.Add(newSiteNum, "IIsWebServer"); 
              newSiteEntry.CommitChanges(); 
              newSiteEntry.Properties["ServerBindings"].Value = siteInfo.BindString; 
              newSiteEntry.Properties["ServerComment"].Value = siteInfo.CommentOfWebSite; 
              newSiteEntry.CommitChanges(); 
              DirectoryEntry vdEntry = newSiteEntry.Children.Add("root", "IIsWebVirtualDir"); 
              vdEntry.CommitChanges(); 
              vdEntry.Properties["Path"].Value = siteInfo.WebPath; 
              vdEntry.CommitChanges(); 
         } 
         /// <summary> 
         ///  刪除一個(gè)網(wǎng)站。根據(jù)網(wǎng)站名稱刪除。 
         /// </summary> 
         /// <param name="siteName">網(wǎng)站名稱</param> 
         public static void DeleteWebSiteByName(string siteName) 
         { 
              string siteNum = GetWebSiteNum(siteName); 
              string siteEntPath = String.Format("IIS://{0}/w3svc/{1}", HostName, siteNum); 
              DirectoryEntry siteEntry = GetDirectoryEntry(siteEntPath); 
              string rootPath = String.Format("IIS://{0}/w3svc", HostName); 
              DirectoryEntry rootEntry = GetDirectoryEntry(rootPath); 
              rootEntry.Children.Remove(siteEntry); 
              rootEntry.CommitChanges(); 
         } 
          #endregion 
          #region Start和Stop網(wǎng)站的方法 
         public static void StartWebSite(string siteName) 
         { 
              string siteNum = GetWebSiteNum(siteName); 
              string siteEntPath = String.Format("IIS://{0}/w3svc/{1}", HostName, siteNum); 
              DirectoryEntry siteEntry = GetDirectoryEntry(siteEntPath); 
              siteEntry.Invoke("Start", new object[] {}); 
         } 
         public static void StopWebSite(string siteName) 
         { 
              string siteNum = GetWebSiteNum(siteName); 
              string siteEntPath = String.Format("IIS://{0}/w3svc/{1}", HostName, siteNum); 
              DirectoryEntry siteEntry = GetDirectoryEntry(siteEntPath); 
              siteEntry.Invoke("Stop", new object[] {}); 
         } 
          #endregion 
          #region 確認(rèn)網(wǎng)站是否相同 
         /// <summary> 
         ///  確定一個(gè)新的網(wǎng)站與現(xiàn)有的網(wǎng)站沒(méi)有相同的。 
         ///  這樣防止將非法的數(shù)據(jù)存放到IIS里面去 
         /// </summary> 
         /// <param name="bindStr">網(wǎng)站邦定信息</param> 
         /// <returns>真為可以創(chuàng)建,假為不可以創(chuàng)建</returns> 
         public static bool EnsureNewSiteEnavaible(string bindStr) 
         { 
              string entPath = String.Format("IIS://{0}/w3svc", HostName); 
              DirectoryEntry ent = GetDirectoryEntry(entPath); 
              foreach(DirectoryEntry child in ent.Children) 
              { 
                   if(child.SchemaClassName == "IIsWebServer") 
                   { 
                        if(child.Properties["ServerBindings"].Value != null) 
                       { 
                            if(child.Properties["ServerBindings"].Value.ToString() == bindStr) 
                            { 
                                 return false; 
                            } 
                       } 
                   } 
              } 
              return true; 
         } 
          #endregion 
          #region 獲取一個(gè)網(wǎng)站編號(hào)的方法 
         /// <summary> 
         ///  獲取一個(gè)網(wǎng)站的編號(hào)。根據(jù)網(wǎng)站的ServerBindings或者ServerComment來(lái)確定網(wǎng)站編號(hào) 
         /// </summary> 
         /// <param name="siteName"></param> 
         /// <returns>返回網(wǎng)站的編號(hào)</returns> 
         /// <exception cref="NotFoundWebSiteException">表示沒(méi)有找到網(wǎng)站</exception> 
         public static string GetWebSiteNum(string siteName) 
         { 
              Regex regex = new Regex(siteName); 
              string tmpStr; 
              string entPath = String.Format("IIS://{0}/w3svc", HostName); 
              DirectoryEntry ent = GetDirectoryEntry(entPath); 
              foreach(DirectoryEntry child in ent.Children) 
              { 
                   if(child.SchemaClassName == "IIsWebServer") 
                   { 
                        if(child.Properties["ServerBindings"].Value != null) 
                       { 
                            tmpStr = child.Properties["ServerBindings"].Value.ToString(); 
                            if(regex.Match(tmpStr).Success) 
                            { 
                                 return child.Name; 
                            } 
                       } 
                        if(child.Properties["ServerComment"].Value != null) 
                       { 
                            tmpStr = child.Properties["ServerComment"].Value.ToString(); 
                            if(regex.Match(tmpStr).Success) 
                            { 
                                 return child.Name; 
                            } 
                       } 
                   } 
              } 
              throw new NotFoundWebSiteException("沒(méi)有找到我們想要的站點(diǎn)" + siteName); 
         } 
          #endregion 
          #region 獲取新網(wǎng)站id的方法 
         /// <summary> 
         ///  獲取網(wǎng)站系統(tǒng)里面可以使用的最小的ID。 
         ///  這是因?yàn)槊總€(gè)網(wǎng)站都需要有一個(gè)唯一的編號(hào),而且這個(gè)編號(hào)越小越好。 
         ///  這里面的算法經(jīng)過(guò)了測(cè)試是沒(méi)有問(wèn)題的。 
         /// </summary> 
         /// <returns>最小的id</returns> 
         public static string GetNewWebSiteID() 
         { 
              ArrayList list = new ArrayList(); 
              string tmpStr; 
              string entPath = String.Format("IIS://{0}/w3svc", HostName); 
              DirectoryEntry ent = GetDirectoryEntry(entPath); 
              foreach(DirectoryEntry child in ent.Children) 
              { 
                   if(child.SchemaClassName == "IIsWebServer") 
                   { 
                       tmpStr = child.Name.ToString(); 
                        list.Add(Convert.ToInt32(tmpStr)); 
                   } 
              } 
              list.Sort(); 
              int i = 1; 
              foreach(int j in list) 
              { 
                   if(i == j) 
                   { 
                       i++; 
                   } 
              } 
              return i.ToString(); 
         } 
          #endregion 
     } 
     #region 新網(wǎng)站信息結(jié)構(gòu)體 
     public struct NewWebSiteInfo 
     { 
          private string hostIP;   // The Hosts IP Address 
          private string portNum;   // The New Web Sites Port.generally is "80" 
          private string descOfWebSite; // 網(wǎng)站表示。一般為網(wǎng)站的網(wǎng)站名。例如"www.dns.com.cn" 
          private string commentOfWebSite;// 網(wǎng)站注釋。一般也為網(wǎng)站的網(wǎng)站名。 
          private string webPath;   // 網(wǎng)站的主目錄。例如"e:/tmp" 
         public NewWebSiteInfo(string hostIP, string portNum, string descOfWebSite, string commentOfWebSite, string webPath) 
         { 
              this.hostIP = hostIP; 
              this.portNum = portNum; 
              this.descOfWebSite = descOfWebSite; 
              this.commentOfWebSite = commentOfWebSite; 
              this.webPath = webPath; 
         } 
         public string BindString 
         { 
              get 
              { 
                   return String.Format("{0}:{1}:{2}", hostIP, portNum, descOfWebSite); 
              } 
         } 
         public string CommentOfWebSite 
         { 
              get 
              { 
                   return commentOfWebSite; 
              } 
         } 
         public string WebPath 
         { 
              get 
              { 
                   return webPath; 
              } 
         } 
     } 
     #endregion 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产精品久久久久桃色tv| 亚洲精品播放| 深爱激情综合| 在线成人中文字幕| 欧美凹凸一区二区三区视频| 日韩电影在线观看永久视频免费网站| 涩涩视频免费看| 国产精品jizz| www插插插无码免费视频网站| 97精品一区| 性猛交富婆╳xxx乱大交一| 古装做爰无遮挡三级聊斋艳谭| 欧美视频在线免费| 国产一区 二区| 另类欧美日韩国产在线| 在线欧美激情| 久久久精品中文字幕| 九九热在线观看视频| 日本精品视频一区二区三区| 精品国产一区二区三区香蕉沈先生| 国产91成人video| 在线观看av资源| 菠萝蜜视频在线观看www入口| 色在线视频观看| 999久久久精品国产| 嫩草伊人久久精品少妇av杨幂| h视频免费观看| 色琪琪综合男人的天堂aⅴ视频| 日韩美女视频一区二区| 91福利电影| 97久久人人超碰caoprom欧美| 久草在线中文最新视频| 精品成人一区二区三区免费视频| 亚洲热av色在线播放| 久久资源免费视频| 国产999精品久久久久久| 91日韩一区二区三区| 唐朝av高清盛宴| 国产中文在线视频| 黄色高清在线观看| 免费av不卡在线| 午夜影院免费播放| 精品人妻一区二区三区蜜桃| 日本黄色免费在线| 日本成人免费网站| 国产大片中文字幕在线观看| 成人免费网站黄| 日韩二区三区四区| 欧美性资源免费| 国产香蕉在线| 国产精品一区二区99| 在线精品一区二区三区| 久9re热视频这里只有精品| 国产又爽又黄的激情精品视频| 国产伦精品一区二区三区四区| 丰满大乳少妇在线观看网站| 欧美女v视频| 黄色一级片视频| 葵司免费一区二区三区四区五区| 青青久久av北条麻妃黑人| 日韩国产一区二区| 国产精品成人国产乱| 久久乐国产精品| 中文字幕在线播放第一页| 久久久国产成人精品| 日本精品久久久久影院| 国产精品久久久久久久久久ktv| 91欧美日韩麻豆精品| 啪啪av大全导航福利综合导航| 男女视频在线观看免费| 鲁大师私人影院在线观看| 国产精品99精品久久免费| 国产精品啪啪啪视频| 成人xxxxx色| 国产白丝网站精品污在线入口| 国产乱子伦精品| 黄网站在线播放| 中文字幕1234区| 亚洲欧美日韩系列| 91亚洲精华国产精华精华液| 亚洲人成网7777777国产| 欧美精品久久久久久久久久丰满| 国产欧美亚洲一区| 亚欧洲精品在线视频免费观看| 视频一区二区综合| 精品极品三级久久久久| 国产aⅴ超薄肉色丝袜交足| 亚洲国产成人精品无码区99| 一本一道久久综合狠狠老| 一区二区三区精品在线| 亚洲欧洲激情在线| 五十路中文字幕| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 人人妻人人澡人人爽欧美一区| www.操操操| 超碰国产精品久久国产精品99| 国产乱真实合集| 久久精品国产一区二区电影| 999精品免费视频| 免费在线观看麻豆视频| 亚洲视频小说| 久久91精品久久久久久秒播| 久久久免费高清电视剧观看| 99re热在线观看| 秋霞成人午夜伦在线观看| 亚洲亚裔videos黑人hd| 一区二区乱子伦在线播放| 亚洲精品一区二区三区福利| 欧洲毛片在线视频免费观看| 日韩电影免费观看高清完整版在线观看| 亚洲精品欧美在线| 久久久久香蕉视频| 国产精品第一页在线观看| 日本三级韩国三级欧美三级| 国产91绿帽单男绿奴| www.youjizz.com在线| 欧美日韩久久久一区| 久久久99久久精品欧美| 国产欧美三级电影| 欧美一级日韩一级| 欧美午夜电影在线观看| h视频在线观看免费完整版| 99综合视频| 一级毛片在线视频| 国产精品美女一区二区视频| 亚欧精品在线视频| 黄色影院在线观看| 国产欧美一区二区精品性| 91女人18毛片水多国产| 日韩一区二区在线观看视频| 中国女人久久久| 亚洲美女高潮久久久| 日韩精品中文字幕在线不卡尤物| 女同激情久久av久久| 九一久久久久久| 欧美 日韩 国产 在线观看| 国产强被迫伦姧在线观看无码| 久久久久国产精品一区| 999国产精品永久免费视频app| 成人精品一区二区| 欧美www视频在线观看| 久久资源免费视频| 国产制服丝袜在线| а√天堂www在线а√天堂视频| 国产美女av一区二区三区| 成人午夜视频精品一区| 你懂的视频在线| 国产18精品乱码免费看| 大伊香蕉精品视频在线| 狠狠色狠狠色综合人人| 国产精彩视频一区二区| 91精品国产黑色紧身裤美女| 热re66久久精品国产99热| 国产精品日本| 91理论片午午论夜理片久久| 一级黄色在线视频| 亚洲国产黄色片| 91资源在线视频| 2023国产在线观看| 欧美激情欧美激情在线五月| 91麻豆免费在线观看| 一级毛片视频在线| 久久亚州av| 中文字幕久热精品在线视频| 九九久久久久午夜精选| 无码人妻精品一区二区50| 国产在线观看免费播放| 亚洲一区二区三区视频在线播放| 国产精品久久国产三级国电话系列| 久久精品理论片| 国产精品视频h| 蜜桃欧美视频| 国产免费亚洲高清| 久久久久久成人网| 国产精品嫩草影院com| av在线网站观看| 欧美国产视频日韩| 成人黄色大片在线免费观看| 亚洲无中文字幕| 视频在线这里都是精品| 亚洲成人国产综合| 6699嫩草久久久精品影院| 撸视在线观看免费视频| 日本一区二区三区免费乱视频| 中文字幕精品无码一区二区| 久久久久中文字幕亚洲精品| 在线视频你懂得| 日韩欧美色综合| 77777在线| 91av免费观看91av精品在线| 中文av一区| 国产脚交av在线一区二区| 97品白浆高清久久久久久| free性中国hd国语露脸| 国产精品久久久对白| 最新中文字幕在线观看视频| aa亚洲婷婷| 中文字幕精品av| xxxxxx在线观看| 91麻豆国产在线观看| 红桃视频国产精品| 欧美啪啪网站| 久久精品综合视频| 国产欧美视频一区二区三区| 日韩免费不卡av| 亚洲综合免费观看高清在线观看| 国产揄拍国内精品对白| 福利91精品一区二区三区| 午夜精品美女久久久久av福利| www.av免费| 国产淫片av片久久久久久| 91国产视频在线播放| 国产成人精品日本亚洲| 91高清视频| 91精品动漫在线观看| 亚洲国产高清aⅴ视频| 99精品国产视频| 日本中文字幕一区二区视频| 欧美中文一区二区三区| 中文字幕网站视频在线| jizzjizz韩国| 成人有码视频在线播放| 亚洲影院色无极综合| eeuss在线观看| 91九蝌蚪视频| 久热视线观看免费视频| 色老板在线视频一区二区| 98色花堂精品视频在线观看| 欧美午夜精品久久久久久蜜| 男女猛烈无遮挡| 中文字幕18页| 亚洲色成人一区二区三区小说| 亚洲精品日日夜夜| 国产**成人网毛片九色| 久久国产精品99精品国产| 在线观看91精品国产入口| 最近2019中文字幕mv免费看| 韩国三级视频在线观看| 天堂√在线中文官网在线| 日韩av激情| 强迫凌虐淫辱の牝奴在线观看| 在线看片线路1| 日韩欧美一区二区三区四区五区| 精品欧美在线观看| 99re这里只有精品6| **三级三级97片毛片| 国产十六处破外女视频| 一个色综合网站| 日韩无码精品一区二区三区| 黄色av一级片| 美女福利视频网| 国产激情视频网站| youjizz在线播放| 综合日韩av| www.四虎在线| 久久av一区二区三区漫画| 欧美日韩色一区| 久久国产婷婷国产香蕉| 国产无码精品在线播放| 亚洲视频 欧洲视频| 免费一级片91| 亚洲精选在线视频| 色噜噜成人av在线| 7878视频在线观看| wwwxxxx欧美| 国产综合精品久久久久成人av| 在线观看国产区| 国产一区二区黄色| 裸体丰满少妇做受久久99精品| 成人一级黄色片| 99国内精品久久| 精品欧美一区免费观看α√| 免费在线观看羞羞视频| 青青青视频在线| 欧美精品一区视频| 在线精品小视频| 久久精品视频在线免费观看| 亚洲永久精品一区| 国产视频在线观看一区二区三区| 国产成人啪午夜精品网站男同| 欧美极品免费| 国产日韩欧美在线播放| 女同互添互慰av毛片观看| 欧美中文娱乐网| 久久精品亚洲人成影院| 亚洲性av网站| 国偷自产av一区二区三区小尤奈| 福利h视频在线| 国产剧情一区在线| 美女视频一区二区三区| 99九九视频| 一区二区精品视频| 啪啪av大全导航福利网址| 一二三在线视频社区| 精品国产自在精品国产浪潮| 亚洲三级 欧美三级| 国产午夜精品视频| 亚洲a级精品| 亚洲精品欧美| 樱花视频在线免费观看| 97超碰人人澡| 韩国女主播成人在线| 久久人人看视频| 91精品国产99| 国产亚洲午夜| 国产一区二区不卡老阿姨| 国产精品video| 91成人一区二区三区| 国精产品一区一区| 久久手机免费观看| 羞羞小视频在线观看| 亚洲高清在线精品| 久久精品青青大伊人av| aaaaaaaa毛片| 免费国产黄色网址| 狠狠躁狠狠躁视频专区| 一区二区三区视频播放| 高清在线观看免费韩剧| 国产一区二区片| 日本色综合中文字幕| 国产三级视频网站| 中文在线字幕观看| 视频一区二区精品的福利| 国自产拍偷拍精品啪啪一区二区| 国产成人精品三级| 精品久久香蕉国产线看观看亚洲| 九色在线91| 91丨九色丨黑人外教|