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

首頁 > 學院 > 編程設計 > 正文

用C#操縱IIS

2020-07-14 13:42:35
字體:
來源:轉載
供稿:網友
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>
/// 這個類是靜態(tài)類。用來實現管理IIS的基本操作。
/// 管理IIS有兩種方式,一是ADSI,一是WMI。由于系統(tǒng)限制的原因,只好選擇使用ADSI實現功能。
/// 這是一個遺憾。只有等到只有使用IIS 6的時候,才有可能使用WMI來管理系統(tǒng)
/// 不過有一個問題就是,我現在也覺得這樣的一個方法在本地執(zhí)行會比較的好。最好不要遠程執(zhí)行。
/// 因為那樣需要占用相當數量的帶寬,即使要遠程執(zhí)行,也是推薦在同一個網段里面執(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("還沒有指定好用戶名。請先指定用戶名");
}


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 根據路徑構造Entry的方法
/// <summary>
/// 根據是否有用戶名來判斷是否是遠程服務器。
/// 然后再構造出不同的DirectoryEntry出來
/// </summary>
/// <param name="entPath">DirectoryEntry的路徑</param>
/// <returns>返回的是DirectoryEntry實例</returns>
public static DirectoryEntry GetDirectoryEntry(string entPath)
{
DirectoryEntry ent;


if(UserName == null)
{
ent = new DirectoryEntry(entPath);
}
else
{
// ent = new DirectoryEntry(entPath, HostName+"//"+UserName, Password, AuthenticationTypes.Secure);
ent = new DirectoryEntry(entPath, UserName, Password, AuthenticationTypes.Secure);
}


return ent;
}
#endregion


#region 添加,刪除網站的方法
/// <summary>
/// 創(chuàng)建一個新的網站。根據傳過來的信息進行配置
/// </summary>
/// <param name="siteInfo">存儲的是新網站的信息</param>
public static void CreateNewWebSite(NewWebSiteInfo siteInfo)
{
if(! EnsureNewSiteEnavaible(siteInfo.BindString))
{
throw new DuplicatedWebSiteException("已經有了這樣的網站了。" + 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>
/// 刪除一個網站。根據網站名稱刪除。
/// </summary>
/// <param name="siteName">網站名稱</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網站的方法
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 確認網站是否相同
/// <summary>
/// 確定一個新的網站與現有的網站沒有相同的。
/// 這樣防止將非法的數據存放到IIS里面去
/// </summary>
/// <param name="bindStr">網站邦定信息</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 獲取一個網站編號的方法
/// <summary>
/// 獲取一個網站的編號。根據網站的ServerBindings或者ServerComment來確定網站編號
/// </summary>
/// <param name="siteName"></param>
/// <returns>返回網站的編號</returns>
/// <exception cref="NotFoundWebSiteException">表示沒有找到網站</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("沒有找到我們想要的站點" + siteName);
}
#endregion


#region 獲取新網站id的方法
/// <summary>
/// 獲取網站系統(tǒng)里面可以使用的最小的ID。
/// 這是因為每個網站都需要有一個唯一的編號,而且這個編號越小越好。
/// 這里面的算法經過了測試是沒有問題的。
/// </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 新網站信息結構體
public struct NewWebSiteInfo
{
private string hostIP; // The Hosts IP Address
private string portNum; // The New Web Sites Port.generally is "80"
private string descOfWebSite; // 網站表示。一般為網站的網站名。例如"www.dns.com.cn"
private string commentOfWebSite;// 網站注釋。一般也為網站的網站名。
private string webPath; // 網站的主目錄。例如"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ā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
美日韩精品免费视频| 欧美久久一二三四区| 欧美日韩国产免费一区二区| 国产成人亚洲精品播放器下载| 亚洲欧美另类久久久精品2019| 粉嫩av四季av绯色av第一区| 老女人性淫交视频| 日本va欧美va精品发布| 国产一区免费在线| 在线精品小视频| 久久国产午夜精品理论片最新版本| 国产精品入口麻豆| 精品国产18久久久久久二百| 午夜精品久久久久久久久久| 久久久久国色av免费看影院| 亚洲大片精品永久免费| 无遮挡动作视频在线观看免费入口| 99久久99热这里只有精品| 在线免费观看欧美| 久久香蕉精品| 神马午夜精品91| 在线视频观看国产| 亚洲男人7777| 91破解版在线观看| 久草国产精品视频| 伊人亚洲精品| 最新日本视频| 国产精品2020| 日本中文字幕视频在线| 欧美黄网免费在线观看| jizz免费一区二区三区| 在线天堂中文www官网| 国产传媒欧美日韩成人| av成人资源网| 亚洲欧美中文字幕在线一区| 日本中文字幕观看| 老司机2019福利精品视频导航| 香蕉大人久久国产成人av| 亚洲五月六月| 永久免费av片在线观看全网站| 999国内精品视频在线| 国产精品免费成人| 免费在线看污片| 久久手机免费视频| 亚欧精品一区二区三区| 97电影在线观看| 亚洲成av人片一区二区| 久久精品视频在线观看榴莲视频| 免费网站www在线观看| h网在线观看| 成人av国产| 国产日韩在线亚洲字幕中文| www.污视频| 99精品国产在热久久下载| 亚洲最新中文字幕| 4虎在线播放1区| 天堂在线资源网| 欧美精品乱码久久久久久| 91九色蝌蚪91por成人| 国产在线a视频| 亚洲性图一区二区| 精品女同一区二区| 黄色一级视频免费看| 国产精区一区二区| 国产日产精品_国产精品毛片| 国精产品久拍自产在线网站| 人妻激情偷乱频一区二区三区| 奇米色777欧美一区二区| 亚洲国产黄色片| www.国产精| 精品国产91洋老外米糕| 欧美一区二区福利视频| 亚洲永久激情精品| 色综合久久久久综合一本到桃花网| 欧美乱xxxxxxxxx| 亚洲国产精品久久久久久女王| 97av在线影院| 亚洲第一视频区| 91啪九色porn原创视频在线观看| 高清久久精品| 国产69精品久久777的优势| 亚洲国产成人一区二区三区| 欧美 丝袜 自拍 制服 另类| 国产精品三级a三级三级午夜| 日韩在线视频中文字幕| 国产情侣一区二区| 一级性生活视频| 日韩av片免费在线观看| 久色视频在线播放| 成人欧美精品一区二区| 国产亚洲精品久久久久动| 国产污污在线观看| 精品一二线国产| 欧美xxxx在线观看| 国产免费999| 成人国产免费电影| 中文字幕成人在线观看| 国产精品亚洲一区二区在线观看| 成人国产在线激情| 精品国产第一区二区三区观看体验| 久久成人久久爱| 久久66热偷产精品| 国产精品人妻一区二区三区| 无码国精品一区二区免费蜜桃| 亚洲欧美在线aaa| 1769国内精品视频在线播放| 成人网男人的天堂| 日韩一级片av| 秋霞在线观看一区二区三区| 一区二区成人国产精品| 国产精品白丝一区二区三区| 久久成人免费观看| 亚洲精品在线看| 日本一本草久p| 亚洲女同中文字幕| 男女在线观看视频| 波多野吉衣av| 欧美亚洲国产激情| 日产电影一区二区三区| 欧美影视一区二区| 日韩欧美亚洲另类制服综合在线| 亚洲精品aaaa| 久久99精品久久久久久园产越南| 凸凹人妻人人澡人人添| 人妻熟女aⅴ一区二区三区汇编| 亚洲精品孕妇| 国产wwwxxx| 亚洲欧美日韩综合aⅴ视频| 欧美日韩国产精品| 在线亚洲天堂| 不要播放器的av网站| 青娱乐91视频| 成人在线视频首页| 国产视频欧美| 成人亚洲欧美一区二区三区| 亚洲精品怡红院| 俄罗斯黄色录像| 九九热精品免费视频| www.亚洲男人天堂| 亚洲国产精品人久久电影| 亚洲一区二区久久| 亚洲毛片视频| 国模大尺度视频一区二区| 成人直播在线观看| 亚洲一级在线| 欧美成人一级| 欧美三级中文字幕在线观看| 99久久国产综合精品五月天喷水| 欧美成人一区二区在线观看| 欧美挠脚心视频网站| 三级在线观看视频| 亚洲国产精品第一区二区三区| 在线观看国产视频| jizzjizzwww| 欧美性生活久久| 男女啪啪无遮挡网站| 亚洲免费电影在线| 精品一区二区电影| gogogo影视剧免费观看在线观看| 丁香花五月婷婷| 不卡一区二区在线| 骚虎视频欧美| 91av在线免费视频| 五月天婷婷色综合| 在线黄色国产电影| 亚洲91在线| 亚洲第一区在线观看| 国产在线视频卡一卡二| 黄色av网站在线播放| 午夜视频免费看| 国产成人精品无码免费看夜聊软件| 最近免费观看高清韩国日本大全| 在线欧美一区二区| 182午夜视频| 天堂资源最新版在线视频观看免费网| 亚洲福利一区二区三区| 亚洲综合日本| 欧美一级特黄aaaaaa| 日韩国产欧美区| 国产传媒欧美日韩| 亚洲女优视频| 成人亚洲欧美日韩在线观看| 在线观看免费视频综合| 免费看国产精品一二区视频| 亚洲熟妇无码乱子av电影| 日皮视频在线观看| 成人午夜毛片| 自拍偷拍你懂的| 浮妇高潮喷白浆视频| 美国成人av| 国产69精品久久久久久久久久| 中文字幕有码在线播放| 久久国产成人精品国产成人亚洲| 欧美另类videosbest视频| 国产精品一二三在| 中文字幕+乱码+中文| 精品国产欧美一区二区五十路| 亚洲精品一区久久久久久| 国产精品无码电影在线观看| 欧美在线资源| 久久er99热精品一区二区| 在线不卡视频| 蜜桃一区二区三区四区| 免费电影网站在线观看| 99精品视频免费在线观看| 日韩a一级欧美一级| 美女脱光内衣内裤视频久久网站| 在线亚洲欧美专区二区| 99在线视频免费| 久久久.com| 亚洲欧美综合国产精品一区| 无码一区二区精品| 中文字幕av一区二区三区人| 免费av网站在线播放| 一区二区三区免费高清视频| 国产高清中文字幕在线| 91网站在线观看免费| 1769国产精品| 精品少妇久久久久久888优播| 粉嫩av一区二区三区四区五区| 久久男人资源站| 欧美国产日本在线| 欧美日一区二区三区在线观看国产免| 欧美制服丝袜第一页| 四虎影视2018在线播放alocalhost| 欧洲中文字幕精品| 嫩草视频在线观看| 超碰人人人人人人人| 99久久免费国产| 欧美日韩亚洲一区二| 在线成人www免费观看视频| 亚洲色图20p| 三上悠亚作品在线观看| 亚洲av综合色区| 日本成人三级电影| 国产成人av在线播放| 一区二区免费在线视频| 日韩三区在线观看| 先锋影音av网站| 亚洲电影一区二区三区| 日韩在线视频不卡| 国产免费中文字幕| 国产成人亚洲综合91精品| 台湾佬美性中文| 91在线一区二区三区| 欧美激情一区二区三区在线视频观看| 视频一区免费观看| 亚洲一区激情| 国产 欧美 在线| 欧美乱妇18p| 国产 欧美 在线| 一区二区视频在线| 一本色道久久综合亚洲精品高清| 国产成a人亚洲精品| 久久av一区二区三区亚洲| www.久久av.com| 国产精品久久久久无码av色戒| 国产在线视频一区二区| missav|免费高清av在线看| 久久国产日韩| 人人妻人人澡人人爽欧美一区| 色综合天天狠天天透天天伊人| 91高清视频在线| 国产精品亚洲色图| 日韩中文字幕免费在线| 97在线免费公开视频| 在线h片观看| 免费男女羞羞的视频网站中文子暮| 国产精品久久久久永久免费观看| 日韩国产中文字幕| 天天干天天色综合| 亚洲美女在线国产| 色综合97天天综合网| 日韩精品一区二区三区在线观看| 91九色蝌蚪国产| 91香蕉视频在线观看视频| 欧美videosex性极品hd| 亚洲欧美国产一本综合首页| 四虎成人av| 日韩精品免费专区| 97精品久久久午夜一区二区三区| 啦啦啦中文高清在线视频| 亚洲人成电影在线观看天堂色| 精品一区二区观看| 中日韩美女免费视频网址在线观看| 国产综合18久久久久久| 国产精品啊啊啊| 亚洲电影视频在线| 你懂的在线观看视频| 日韩精品一区二区三区中文不卡| 国产人妖在线观看| 大桥未久av一区二区三区中文| 国产视频精品一区二区三区| 精品人妻一区二区三区免费| 欧美日韩国产bt| 免费91麻豆精品国产自产在线观看| 色哟哟在线观看| 影音欧美亚洲| gogogo免费视频观看亚洲一| 欧美色欧美亚洲另类七区| 免费福利视频一区| 精品伊人久久久| 免费观看一区二区三区毛片| 欧美一区二区视频观看视频| 91免费版在线| 欧美电影免费| 国产精品扒开腿爽爽爽视频| 久久久久久久av麻豆果冻| 99国产精品久久久久老师| 成人啪啪18免费游戏链接| 亚洲 欧美 激情 小说 另类| 在线看黄色的网站| 99热一区二区| 日韩av电影免费观看高清完整版| 在线中文字幕资源| 国产精品一区二区av影院萌芽| 欧美激情亚洲一区| 亚洲自拍偷拍二区| 成人短视频app| 国产在线视频二区| 谁有免费的黄色网址| 91亚洲欧美激情| 国产在线观看精品| 无码人妻精品一区二区三区不卡| 日韩成人免费在线| 国产美女精品免费电影| 日本丰满少妇裸体自慰| 欧美放荡办公室videos4k|