這篇文章主要介紹了C#控制IIS動(dòng)態(tài)添加刪除網(wǎng)站的示例,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),山丹企業(yè)網(wǎng)站建設(shè),山丹品牌網(wǎng)站建設(shè),網(wǎng)站定制,山丹網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,山丹網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
我的目的是在Winform程序里面,可以直接啟動(dòng)一個(gè)HTTP服務(wù)端,給下游客戶連接使用。
查找相關(guān)技術(shù),有兩種方法:
1.使用C#動(dòng)態(tài)添加網(wǎng)站應(yīng)用到IIS中,借用IIS的管理能力來提供HTTP接口。本文即對(duì)此做說明
2.在Winform程序中實(shí)現(xiàn)Web服務(wù)器邏輯,自己監(jiān)聽和管理客戶端請(qǐng)求;
利用IIS7自帶類庫管理IIS現(xiàn)在變的更強(qiáng)大更方便,而完全可以不需要用DirecotryEntry這個(gè)類了(樂博網(wǎng)中很多.net管理iis6.0的文章都用到了DirecotryEntry這個(gè)類 ),Microsoft.Web.Administration.dll位于IIS的目錄(%WinDir%\\System32\\InetSrv)下,使用時(shí)需要引用,它基本上可以管理IIS7的各項(xiàng)配置。
這個(gè)類庫的主體結(jié)構(gòu)如下:
這里只舉幾個(gè)例子說明一下基本功能,更多功能請(qǐng)參考MSDN。
建立站點(diǎn)
string SiteName="樂博網(wǎng)"; //站點(diǎn)名稱 string BindArgs="*:80:"; //綁定參數(shù),注意格式 string apl="http"; //類型 string path="e:\\樂博網(wǎng)"; //網(wǎng)站路徑 ServerManager sm = new ServerManager(); sm.Sites.Add(SiteName,apl,BindArgs,path); sm.CommitChanges();
修改站點(diǎn)
Site site=sm.Sites["newsite"]; site.Name=SiteName; site.Bindings[0].EndPoint.Port=9999; site.Applications[0].VirtualDirectories[0].PhysicalPath=path; sm.CommitChanges();
刪除站點(diǎn)
Site site=sm.Sites["樂博網(wǎng)"]; sm.Sites.Remove(site); sm.CommitChanges();
站點(diǎn)操作
方法一:
#region CreateWebsite 添加網(wǎng)站 public string CreateWebSite(string serverID, string serverComment, string defaultVrootPath, string HostName, string IP, string Port) { try { ManagementObject oW3SVC = new ManagementObject (_scope, new ManagementPath(@"IIsWebService='W3SVC'"), null); if (IsWebSiteExists (serverID)) { return "Site Already Exists..."; } ManagementBaseObject inputParameters = oW3SVC.GetMethodParameters ("CreateNewSite"); ManagementBaseObject[] serverBinding = new ManagementBaseObject[1]; serverBinding[0] = CreateServerBinding(HostName, IP, Port); inputParameters["ServerComment"] = serverComment; inputParameters["ServerBindings"] = serverBinding; inputParameters["PathOfRootVirtualDir"] = defaultVrootPath; inputParameters["ServerId"] = serverID; ManagementBaseObject outParameter = null; outParameter = oW3SVC.InvokeMethod("CreateNewSite", inputParameters, null); // 啟動(dòng)網(wǎng)站 string serverName = "W3SVC/" + serverID; ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null); webSite.InvokeMethod("Start", null); return (string)outParameter.Properties["ReturnValue"].Value; } catch (Exception ex) { return ex.Message; } } public ManagementObject CreateServerBinding(string HostName, string IP, string Port) { try { ManagementClass classBinding = new ManagementClass(_scope, new ManagementPath("ServerBinding"), null); ManagementObject serverBinding = classBinding.CreateInstance(); serverBinding.Properties["Hostname"].Value = HostName; serverBinding.Properties["IP"].Value = IP; serverBinding.Properties["Port"].Value = Port; serverBinding.Put(); return serverBinding; } catch { return null; } } #endregion #region 添加網(wǎng)站事件 protected void AddWebsite_Click(object sender, EventArgs e) { IISManager iis = new IISManager(); iis.Connect(); string serverID = "5556"; string serverComment = "Create Website"; string defaultVrootPath = @"D:\web"; string HostName = "World"; string IP = ""; string Port = "9898"; ReturnMessage.Text = iis.CreateWebSite(serverID,serverComment,defaultVrootPath,HostName,IP,Port); } #endregion #region DeleteSite 刪除站點(diǎn) public string DeleteSite(string serverID) { try { string serverName = "W3SVC/" + serverID; ManagementObject webSite = new ManagementObject(_scope, new ManagementPath(@"IIsWebServer='" + serverName + "'"), null); webSite.InvokeMethod("Stop", null); webSite.Delete(); webSite = null; return "Delete the site succesfully!"; } catch (Exception deleteEx) { return deleteEx.Message; } } #endregion
方法二:
using System; using System.Collections.Generic; using System.Text; using System.DirectoryServices; namespace WindowsApplication1 { class IISManager { public IISManager() { } public static string VirDirSchemaName = "IIsWebVirtualDir"; private string _serverName; public string ServerName { get { return _serverName; } set { _serverName = value; } } /// <summary> /// 創(chuàng)建網(wǎng)站或虛擬目錄 /// </summary> /// <param name="WebSite">服務(wù)器站點(diǎn)名稱(localhost)</param> /// <param name="VDirName">虛擬目錄名稱</param> /// <param name="Path">實(shí)際路徑</param> /// <param name="RootDir">true=網(wǎng)站;false=虛擬目錄</param> /// <param name="iAuth">設(shè)置目錄的安全性,0不允許匿名訪問,1為允許,2基本身份驗(yàn)證,3允許匿名+基本身份驗(yàn)證,4整合Windows驗(yàn)證,5允許匿名+整合Windows驗(yàn)證...更多請(qǐng)查閱MSDN</param> /// <param name="webSiteNum">1</param> /// <param name="serverName">一般為localhost</param> /// <returns></returns> public bool CreateWebSite(string WebSite, string VDirName, string Path, bool RootDir, int iAuth, int webSiteNum, string serverName) { try { System.DirectoryServices.DirectoryEntry IISSchema; System.DirectoryServices.DirectoryEntry IISAdmin; System.DirectoryServices.DirectoryEntry VDir; bool IISUnderNT; // // 確定IIS版本 // IISSchema = new System.DirectoryServices.DirectoryEntry("IIS://" + serverName + "/Schema/AppIsolated"); if (IISSchema.Properties["Syntax"].Value.ToString().ToUpper() == "BOOLEAN") IISUnderNT = true; else IISUnderNT = false; IISSchema.Dispose(); // // Get the admin object // 獲得管理權(quán)限 // IISAdmin = new System.DirectoryServices.DirectoryEntry("IIS://" + serverName + "/W3SVC/" + webSiteNum + "/Root"); // // If we're not creating a root directory // 如果我們不能創(chuàng)建一個(gè)根目錄 // if (!RootDir) { // // If the virtual directory already exists then delete it // 如果虛擬目錄已經(jīng)存在則刪除 // foreach (System.DirectoryServices.DirectoryEntry v in IISAdmin.Children) { if (v.Name == VDirName) { // Delete the specified virtual directory if it already exists try { IISAdmin.Invoke("Delete", new string[] { v.SchemaClassName, VDirName }); IISAdmin.CommitChanges(); } catch (Exception ex) { throw ex; } } } } // // Create the virtual directory // 創(chuàng)建一個(gè)虛擬目錄 // if (!RootDir) { VDir = IISAdmin.Children.Add(VDirName, "IIsWebVirtualDir"); } else { VDir = IISAdmin; } // // Make it a web application // 創(chuàng)建一個(gè)web應(yīng)用 // if (IISUnderNT) { VDir.Invoke("AppCreate", false); } else { VDir.Invoke("AppCreate", true); } // // Setup the VDir // 安裝虛擬目錄 //AppFriendlyName,propertyName,, bool chkRead,bool chkWrite, bool chkExecute, bool chkScript,, true, false, false, true VDir.Properties["AppFriendlyName"][0] = VDirName; //應(yīng)用程序名稱 VDir.Properties["AccessRead"][0] = true; //設(shè)置讀取權(quán)限 VDir.Properties["AccessExecute"][0] = false; VDir.Properties["AccessWrite"][0] = false; VDir.Properties["AccessScript"][0] = true; //執(zhí)行權(quán)限[純腳本] //VDir.Properties["AuthNTLM"][0] = chkAuth; VDir.Properties["EnableDefaultDoc"][0] = true; VDir.Properties["EnableDirBrowsing"][0] = false; VDir.Properties["DefaultDoc"][0] = "Default.aspx,Index.aspx,Index.asp"; //設(shè)置默認(rèn)文檔,多值情況下中間用逗號(hào)分割 VDir.Properties["Path"][0] = Path; VDir.Properties["AuthFlags"][0] = iAuth; // // NT doesn't support this property // NT格式不支持這特性 // if (!IISUnderNT) { VDir.Properties["AspEnableParentPaths"][0] = true; } // // Set the changes // 設(shè)置改變 // VDir.CommitChanges(); return true; } catch (Exception ex) { throw ex; } } /// <summary> /// 獲取VDir支持的所有屬性 /// </summary> /// <returns></returns> public string GetVDirPropertyName() { //System.DirectoryServices.DirectoryEntry VDir; const String constIISWebSiteRoot = "IIS://localhost/W3SVC/1/ROOT/iKaoo"; DirectoryEntry root = new DirectoryEntry(constIISWebSiteRoot); string sOut = ""; //下面的方法是得到所有屬性名稱的方法: foreach (PropertyValueCollection pvc in root.Properties) { //Console.WriteLine(pvc.PropertyName); sOut += pvc.PropertyName + ":" + pvc.Value.ToString() + "-----------"; } return sOut; } /// <summary> /// 創(chuàng)建虛擬目錄 /// </summary> /// <param name="sDirName">虛擬目錄程式名稱</param> /// <param name="sPath">實(shí)體路徑</param> /// <param name="sDefaultDoc">黙認(rèn)首頁,多個(gè)名稱用逗號(hào)分隔</param> /// <param name="iAuthFlags">設(shè)置目錄的安全性,0不允許匿名訪問,1為允許,2基本身份驗(yàn)證,3允許匿名+基本身份驗(yàn)證,4整合Windows驗(yàn)證,5允許匿名+整合Windows驗(yàn)證...更多請(qǐng)查閱MSDN</param> /// <param name="sWebSiteNumber">Win2K,2K3支持多個(gè)網(wǎng)站,本次操作哪個(gè)網(wǎng)站,黙認(rèn)網(wǎng)站為1</param> /// <returns></returns> public bool CreateVDir(string sDirName, string sPath, string sDefaultDoc, int iAuthFlags, string sWebSiteNumber) { try { String sIISWebSiteRoot = "IIS://localhost/W3SVC/" + sWebSiteNumber + "/ROOT"; DirectoryEntry root = new DirectoryEntry(sIISWebSiteRoot); foreach (System.DirectoryServices.DirectoryEntry v in root.Children) { if (v.Name == sDirName) { // Delete the specified virtual directory if it already exists root.Invoke("Delete", new string[] { v.SchemaClassName, sDirName }); root.CommitChanges(); } } DirectoryEntry tbEntry = root.Children.Add(sDirName, root.SchemaClassName); tbEntry.Properties["Path"][0] = sPath; tbEntry.Invoke("AppCreate", true); //tbEntry.Properties["AccessRead"][0] = true; //tbEntry.Properties["ContentIndexed"][0] = true; tbEntry.Properties["DefaultDoc"][0] = sDefaultDoc; tbEntry.Properties["AppFriendlyName"][0] = sDirName; //tbEntry.Properties["AccessScript"][0] = true; //tbEntry.Properties["DontLog"][0] = true; //tbEntry.Properties["AuthFlags"][0] = 0; tbEntry.Properties["AuthFlags"][0] = iAuthFlags; tbEntry.CommitChanges(); return true; } catch (Exception ex) { throw ex; } } } } 調(diào)用DEMO: private void button1_Click(object sender, EventArgs e) { if (new IISManager().CreateWebSite("localhost", "Vtest", "E:\\DOC", false, 1, 1, "localhost")) lbInfo.Text = "Create Vtest OK"; } private void button2_Click(object sender, EventArgs e) { txtPN.Text = new IISManager().GetVDirPropertyName(); } private void button3_Click(object sender, EventArgs e) { if (new IISManager().CreateVDir("iKaoo", "E:\\DOC", "index.aspx,Default.aspx", 1, "1")) lbInfo.Text = "Create iKaoo OK"; }
同樣的方式,也可以對(duì)網(wǎng)站對(duì)屬性進(jìn)行修改。
IIS的站點(diǎn)屬性(詳細(xì)內(nèi)容,請(qǐng)查閱IIS幫助)
Read only properties of W3SVC/1/Root: // 只讀屬性
AppIsolated = 2 屬性指出應(yīng)用程序是在進(jìn)程內(nèi)、進(jìn)程外還是在進(jìn)程池中運(yùn)行。值 0 表示應(yīng)用程序在進(jìn)程內(nèi)運(yùn)行,值 1 表示進(jìn)程外,值 2 表示進(jìn)程池。
AppPackageID = 為事務(wù)提供 COM+ 應(yīng)用程序標(biāo)識(shí)符 (ID)。此 ID 在由組件服務(wù)管理的所有事務(wù)中使用。
AppPackageName = 為事務(wù)提供 COM+ 應(yīng)用程序名。
AppRoot = /LM/W3SVC/1/ROOT 包含到應(yīng)用程序根目錄的配置數(shù)據(jù)庫路徑。
Caption = 提供對(duì)象的一段簡(jiǎn)短文本描述(一行字符串)。
Description = 提供對(duì)象的一段較長(zhǎng)文本描述。
InstallDate = 表示安裝對(duì)象的時(shí)間。缺少值并不表示對(duì)象沒有安裝。
Name = W3SVC/1/ROOT 定義了用來識(shí)別對(duì)象的標(biāo)簽。創(chuàng)建子類時(shí),可以將 Name 屬性改寫為 Key 屬性。
Status = 表示對(duì)象當(dāng)前狀態(tài)。各種可操作的和不可操作的狀態(tài)都可以被定義??刹僮鞯臓顟B(tài)為“正?!?、“已降級(jí)”和“預(yù)見故障”?!邦A(yù)見故障”表示一個(gè)組件可能運(yùn)行正常但預(yù)計(jì)很快會(huì)出現(xiàn)故障。例如,啟用 SMART 的硬盤。還可指定不可操作的狀態(tài)。這些狀態(tài)為“錯(cuò)誤”、“啟動(dòng)”、“停止”和“服務(wù)”。后者(即“服務(wù)”)可用于磁盤鏡像過程、重新加載用戶權(quán)限列表或其他管理作業(yè)。并不是所有這類作業(yè)都聯(lián)機(jī);所以,被管理的組件不是“正?!睜顟B(tài)或處于任何其他狀態(tài)。
Read/Write properties of W3SVC/1/Root: // 可讀/可寫
AccessExecute = False 值 true 表示不論文件類型是什么,文件或文件夾的內(nèi)容都可以執(zhí)行。
AccessFlags = 513 包含有用于配置文件訪問權(quán)限的標(biāo)志
AccessNoPhysicalDir = False
AccessNoRemoteExecute = False 值 true 表示拒絕遠(yuǎn)程請(qǐng)求執(zhí)行應(yīng)用程序;如果將 AccessExecute 屬性設(shè)置為 true,只有來自 IIS 服務(wù)器所在的相同計(jì)算機(jī)的請(qǐng)求才會(huì)成功。您不能將 AccessNoRemoteExecute 設(shè)置為 false 來啟用遠(yuǎn)程請(qǐng)求,或?qū)?AccessExecute 設(shè)置為 false 來禁止本地請(qǐng)求。
AccessNoRemoteRead = False 值 true 表示拒絕遠(yuǎn)程請(qǐng)求查看文件;如果將 AccessRead 屬性設(shè)置為 true,只有來自 IIS 服務(wù)器所在的相同計(jì)算機(jī)的請(qǐng)求才會(huì)成功。您不能將 AccessNoRemoteRead 設(shè)置為 false 來啟用遠(yuǎn)程請(qǐng)求,或?qū)?AccessRead 設(shè)置為 false 來禁止本地請(qǐng)求。
AccessNoRemoteScript = False 值 true 表示拒絕遠(yuǎn)程請(qǐng)求查看動(dòng)態(tài)內(nèi)容;如果將 AccessScript 屬性設(shè)置為 true,只有來自 IIS 服務(wù)器所在的相同計(jì)算機(jī)的請(qǐng)求才會(huì)成功。您不能將 AccessNoRemoteScript 設(shè)置為 false 來啟用遠(yuǎn)程請(qǐng)求,或?qū)?AccessScript 設(shè)置為 false 來禁止本地請(qǐng)求。
AccessNoRemoteWrite = False 值 true 表示拒絕遠(yuǎn)程請(qǐng)求創(chuàng)建或更改文件;如果將 AccessWrite 屬性設(shè)置為 true,只有來自 IIS 服務(wù)器所在的相同計(jì)算機(jī)的請(qǐng)求才會(huì)成功。您不能將 AccessNoRemoteWrite 設(shè)置為 false 來啟用遠(yuǎn)程請(qǐng)求,或?qū)?AccessWrite 設(shè)置為 false 來禁止本地請(qǐng)求。
AccessRead = True 值 true 表示可通過 Microsoft Internet Explorer 讀取文件或文件夾的內(nèi)容。
AccessScript = True 值 true 表示如果是腳本文件或靜態(tài)內(nèi)容,則可以執(zhí)行文件或文件夾的內(nèi)容。值 false 只允許提供靜態(tài)文件,如 HTML 文件。
AccessSource = False 值 true 表示如果設(shè)置了讀取或?qū)懭霗?quán)限,則允許用戶訪問源代碼。源代碼包括 Microsoft? Active Server Pages (ASP) 應(yīng)用程序中的腳本。
AccessSSL = False 值 true 表示文件訪問需要帶有或不帶有客戶端證書的 SSL 文件權(quán)限處理。
AccessSSL128 = False 值 true 表示文件訪問需要至少 128 位密鑰、帶有或不帶有客戶端證書的 SSL 文件權(quán)限處理。
AccessSSLFlags = 0 默認(rèn)值 0 表示未設(shè)置任何 SSL 權(quán)限。
AccessSSLMapCert = False 值 true 表示 SSL 文件權(quán)限處理將客戶端證書映射到 Microsoft Windows? 操作系統(tǒng)的用戶帳戶上。要實(shí)現(xiàn)映射,必須將 AccessSSLNegotiateCert 屬性設(shè)置成 true。
AccessSSLNegotiateCert = False 值 true 表示 SSL 文件訪問處理從客戶端請(qǐng)求證書。值 false 表示如果客戶端沒有證書,仍可繼續(xù)訪問。如果服務(wù)器請(qǐng)求證書但證書不可用(即使也將 AccessSSLRequireCert 設(shè)成 true),某些版本的 Internet Explorer 將關(guān)閉連接。
AccessSSLRequireCert = False 值 true 表示 SSL 文件訪問處理從客戶端請(qǐng)求證書。如果客戶端沒有提供證書,連接會(huì)關(guān)閉。當(dāng)使用 AccessSSLRequireCert 時(shí),必須將 AccessSSLNegotiateCert 設(shè)成 true。
AccessWrite = False 值 true 表示允許用戶將文件及其相關(guān)屬性上載到服務(wù)器上已啟用的目錄中,或者更改可寫文件的內(nèi)容。只有使用支持 HTTP 1.1 協(xié)議標(biāo)準(zhǔn)的 PUT 功能的瀏覽器,才能執(zhí)行寫入操作。
AdminACLBin = 由 Microsoft? Exchange Server 使用
AnonymousPasswordSync = True 指出 IIS 是否應(yīng)該為試圖訪問資源的匿名用戶處理用戶密碼。下表列出了該屬性行為的詳細(xì)說明:如果將 AnonymousPasswordSync 設(shè)置為 false,管理員必須手動(dòng)設(shè)置匿名用戶密碼的 AnonymousUserPass 屬性;否則匿名訪問將無法正常工作。 如果將 AnonymousPasswordSync 設(shè)置為 true,將由 IIS 設(shè)置匿名用戶密碼。 如果將 AnonymousPasswordSync 設(shè)置為 true 并且配置數(shù)據(jù)庫屬性 AllowAnonymous 值為 false,則不允許任何用戶登錄到 FTP 服務(wù)器。
AnonymousUserName = IUSR_COMPUTERNAME 指定用來驗(yàn)證匿名用戶的已注冊(cè)的本地用戶名。服務(wù)器將每個(gè)服務(wù)器操作與用戶名和密碼關(guān)聯(lián)起來。
AnonymousUserPass = XXXXXXXXXXXX 指定用來驗(yàn)證匿名用戶的已注冊(cè)的本地用戶密碼。服務(wù)器將每個(gè)服務(wù)器操作與用戶名和密碼關(guān)聯(lián)起來。
AppAllowClientDebug = False 指定是否允許客戶端調(diào)試。該屬性與應(yīng)用于服務(wù)器端調(diào)試的 AppAllowDebugging 無關(guān)。
AppAllowDebugging = False 指定是否允許在服務(wù)器上進(jìn)行 ASP 調(diào)試。該屬性與應(yīng)用于客戶端調(diào)試的 AppAllowClientDebug 屬性無關(guān)。
AppFriendlyName = 默認(rèn)應(yīng)用程序 軟件包或應(yīng)用程序的用戶好記名稱
AppOopRecoverLimit = -1 進(jìn)程外應(yīng)用程序在出現(xiàn)故障后重新啟動(dòng)的最大次數(shù)。服務(wù)器不會(huì)響應(yīng)超出該范圍的組件請(qǐng)求。該屬性不適用于進(jìn)程內(nèi)運(yùn)行的應(yīng)用程序或擴(kuò)展。
AppPoolId = ASP.NET V2.0 應(yīng)用程序在其中路由的應(yīng)用程序池
AppWamClsid = 為應(yīng)用程序的 Web 應(yīng)用程序管理 (WAM) 接口提供類 ID
AspAllowOutOfProcComponents = True 在 IIS 4.0 中,AspAllowOutOfProcComponents 屬性指定是否允許 ASP 腳本調(diào)用進(jìn)程外組件,這些組件是在應(yīng)用程序內(nèi)啟動(dòng)的可執(zhí)行程序。在 IIS 5.0 中,該屬性已過時(shí),并且屬性值將被忽略。但是,使用該屬性的腳本仍然可以正常運(yùn)行。
AspAllowSessionState = True 啟用 ASP 應(yīng)用程序會(huì)話狀態(tài)持續(xù)性。如果將該值設(shè)置為 true,那么服務(wù)器將為每個(gè)連接創(chuàng)建 Session 對(duì)象,可訪問會(huì)話狀態(tài),允許會(huì)話存儲(chǔ),出現(xiàn) Session_OnStart 和 Session_OnEnd 事件,并且發(fā)送 ASPSessionID Cookie 到客戶端。如果將該值設(shè)置為 false,那么不允許狀態(tài)訪問和存儲(chǔ),事件將不進(jìn)行處理,并且也不發(fā)送 Cookie。
AspAppServiceFlags = 0 包含在 IIS 應(yīng)用程序上啟用 COM+ 服務(wù)所必須要設(shè)置的標(biāo)志
AspBufferingLimit = 4194304 設(shè)置 ASP 緩沖區(qū)的最大大小。如果啟動(dòng)了響應(yīng)緩沖,該屬性將控制在進(jìn)行刷新前 ASP 頁面可以向響應(yīng)緩沖區(qū)寫入的最大字節(jié)數(shù)
AspBufferingOn = True ASP 應(yīng)用程序的輸出是否需要緩沖
AspCalcLineNumber = True ASP 是否計(jì)算和存儲(chǔ)已執(zhí)行代碼的行號(hào),以便在錯(cuò)誤報(bào)告中提供
AspCodepage = 0 為應(yīng)用程序指定默認(rèn)的代碼頁
AspDiskTemplateCacheDirectory = %windir%\system32\inetsrv\ASP Comp 目錄的名稱,該目錄是 ASP 在存儲(chǔ)器內(nèi)的緩存溢出后,用來將已編譯的 ASP 模板存儲(chǔ)到磁盤的目錄
AspEnableApplicationRestart = True 確定 ASP 應(yīng)用程序能否自動(dòng)重新啟動(dòng)
AspEnableAspHtmlFallback = False 當(dāng)由于請(qǐng)求隊(duì)列已滿而拒絕新的請(qǐng)求時(shí),AspEnableAspHtmlFallback 屬性控制 ASP 的行為。將該屬性設(shè)置為 true,將導(dǎo)致發(fā)送與請(qǐng)求的 .asp 文件名稱類似的 .htm 文件(如果存在),而不是發(fā)送 .asp 文件。.htm 文件的命名約定是 .asp 文件名之后附加一個(gè) _asp。例如,.asp 文件是 hello.asp,那么 .htm 文件應(yīng)該是 hello_asp.htm。
AspEnableChunkedEncoding = True 指定是否為萬維網(wǎng)發(fā)布服務(wù)(WWW 服務(wù))啟動(dòng) HTTP 1.1 chunked 傳輸編碼
AspEnableParentPaths = False 頁面是否允許當(dāng)前目錄的相對(duì)路徑(使用 ..\ 表示法)。
AspEnableSxs = False 值 true 將啟動(dòng) COM+ 并排集合,該程序集允許 ASP 應(yīng)用程序指定要使用哪個(gè)版本的系統(tǒng) DLL 或傳統(tǒng) COM 組件,例如 MDAC、MFS、MSVCRT、MSXML 等等。
AspEnableTracker = False 值 true 將啟動(dòng) COM+ 跟蹤器,管理員或開發(fā)人員可用其來調(diào)試 ASP 應(yīng)用程序。
AspEnableTypelibCache = True 是否在服務(wù)器上緩存類型庫
AspErrorsToNTLog = False 是否將 IIS 腳本錯(cuò)誤寫入到 Windows 事件日志中
AspExceptionCatchEnable = True 頁面是否捕獲組件產(chǎn)生的異常。如果設(shè)置為 false (或者禁用),那么 Microsoft 腳本調(diào)試程序工具將不捕捉所調(diào)試的組件發(fā)生的異常。
AspExecuteInMTA = 0 ASP 能夠在一個(gè)多線程單元 (MTA) 中運(yùn)行其全部線程。如果 COM 組件主要是自由線程或雙線程組件,則將 ASP 線程作為 MTA 運(yùn)行可顯著改善性能。默認(rèn)情況下,AspExecuteInMTA 屬性設(shè)置為 0,這意味著 ASP 不在 MTA 中執(zhí)行。在應(yīng)用程序級(jí)別上將該屬性設(shè)置為 1 可以使 ASP 在 MTA 中運(yùn)行。
AspKeepSessionIDSecure = 0 啟用 AspKeepSessionIDSecure 屬性后,它可以確保將 SessionID 作為安全 Cookie 發(fā)送(如果已在安全通道上分配的話)。
AspLCID = 2048 用程序指定默認(rèn)的區(qū)域設(shè)置標(biāo)識(shí)符 (LCID)。
AspLogErrorRequests = True 控制 Web 服務(wù)器是否將失敗的客戶請(qǐng)求寫入到 Windows 事件日志文件中
AspMaxDiskTemplateCacheFiles = 2000 指定存儲(chǔ)已編譯 ASP 模板的最大數(shù)量。存儲(chǔ)已編譯模板的目錄由 AspDiskTemplateCacheDirectory 屬性配置。
AspMaxRequestEntityAllowed = 204800 指定一個(gè) ASP 請(qǐng)求的實(shí)體正文中允許的最多字節(jié)數(shù)。
AspPartitionID = COM+ 分區(qū)用于將 Web 應(yīng)用程序隔離到其各自的 COM+ 分區(qū)。COM+ 分區(qū)保存不同的自定義 COM 組件的版本。將 AspPartitionID 屬性設(shè)置為 COM+ 分區(qū)的全局唯一標(biāo)識(shí)符 (GUID)。同時(shí),設(shè)置 AspAppServiceFlags 配置數(shù)據(jù)庫屬性的 AspUsePartition 標(biāo)志。在應(yīng)用程序級(jí)別設(shè)置這兩個(gè)屬性
AspProcessorThreadMax = 25 指定 IIS 可創(chuàng)建的每個(gè)處理器的最大工作線程數(shù)
AspQueueConnectionTestTime = 3 IIS 將所有的 ASP 請(qǐng)求放置到隊(duì)列中。如果請(qǐng)求在隊(duì)列中等待的時(shí)間比 AspQueueConnectionTestTime 屬性指定的時(shí)間(以秒為單位)長(zhǎng),則 ASP 將在執(zhí)行請(qǐng)求前檢查確定客戶端是否仍是連接的。如果客戶端已斷開連接,則不處理該請(qǐng)求并且從隊(duì)列中刪除該請(qǐng)求。
AspQueueTimeout = -1 允許 ASP 腳本請(qǐng)求在隊(duì)列中等待的時(shí)間(以秒為單位)。無窮大表示為 -1。
AspRequestQueueMax = 3000 允許進(jìn)入隊(duì)列的并發(fā) ASP 請(qǐng)求的最大數(shù)目。在隊(duì)列占滿時(shí),任何試圖請(qǐng)求 ASP 文件的客戶端瀏覽器都將收到 HTTP 500“服務(wù)器太忙”的錯(cuò)誤。
AspRunOnEndAnonymously = True 指定了 SessionOnEnd 和 ApplicationOnEnd 全局 ASP 函數(shù)是否應(yīng)該作為匿名用戶運(yùn)行
AspScriptEngineCacheMax = 250 頁面將在內(nèi)存中保持緩存的腳本引擎的最大數(shù)目
AspScriptErrorMessage = 處理 URL 時(shí)服務(wù)器出錯(cuò)。請(qǐng)與系統(tǒng)管理員聯(lián)系。 特殊調(diào)試錯(cuò)誤沒有被發(fā)送到客戶端時(shí)(如果將 AspScriptErrorSentToBrowser 設(shè)置成 false)將發(fā)送給瀏覽器的錯(cuò)誤消息
AspScriptErrorSentToBrowser = True Web 服務(wù)器是否將調(diào)試細(xì)節(jié)(文件名、錯(cuò)誤、行號(hào)、描述)寫到客戶端瀏覽器,并且記錄到 Windows 事件日志中
AspScriptFileCacheSize = 500 要緩存的預(yù)編譯腳本文件數(shù)。如果設(shè)置為 0,則不緩存任何腳本文件
AspScriptLanguage = VBScript 運(yùn)行在 Web 服務(wù)器上的所有 ASP 應(yīng)用程序的默認(rèn)腳本語言
AspScriptTimeout = 90 AspScriptTimeout 屬性指定了在終止腳本和將事件寫入 Windows 事件日志之前,ASP 頁面允許的腳本運(yùn)行時(shí)間的默認(rèn)值(以秒為單位)。
AspSessionMax = -1 IIS 允許的最大并發(fā)會(huì)話數(shù)。當(dāng)達(dá)到該限制時(shí),如果客戶端試圖與 IIS 建立新連接,則客戶端將接收到錯(cuò)誤信息(HTTP 500“服務(wù)器太忙”)。無窮大表示為 -1。
AspSessionTimeout = 20 完成最后的與 Session 對(duì)象相關(guān)的請(qǐng)求后,保留該對(duì)象的時(shí)間(以分鐘為單位)。
AspSxsName = 啟動(dòng)并行 (SxS) 程序集。并行 (SxS) 程序集允許 ASP 應(yīng)用程序指定要使用哪個(gè)版本的系統(tǒng) DLL 或傳統(tǒng) COM 組件,例如 MDAC、MFS、MSVCRT、MSXML 等。
AspTrackThreadingModel = False IIS 是否檢查應(yīng)用程序創(chuàng)建的任意組件的線程模塊。
AspUsePartition = False 值 true 將啟動(dòng) COM+ 分區(qū),可用其將 Web 應(yīng)用程序隔離到各自的 COM+ 分區(qū)。COM+ 分區(qū)可擁有不同的自定義 COM 組件的版本。如果設(shè)置該標(biāo)志,請(qǐng)同時(shí)設(shè)置 AspPartitionID 配置數(shù)據(jù)庫屬性。
AuthAdvNotifyDisable = True 禁用密碼到期預(yù)先通知
AuthAnonymous = True 指定匿名身份驗(yàn)證作為可能的 Windows 驗(yàn)證方案之一,返回給客戶端作為有效驗(yàn)證方案。
AuthBasic = False 指定基本身份驗(yàn)證作為可能的 Windows 驗(yàn)證方案之一,返回給客戶端作為有效驗(yàn)證方案。
AuthChangeDisable = True 禁止更改密碼
AuthChangeUnsecure = False 允許在不安全端口更改密碼
AuthChangeURL = /iisadmpwd/achg.asp 用戶輸入新密碼時(shí)被調(diào)用的 URL
AuthExpiredUnsecureURL = /iisadmpwd/aexp3.asp 用戶密碼到期時(shí)調(diào)用的 URL
AuthExpiredURL = /iisadmpwd/aexp.asp 用戶密碼到期時(shí)調(diào)用的 URL。將以安全的 (HTTPS) 方式調(diào)用它。
AuthFlags = 5 作為有效方案返回給客戶端的 Windows 驗(yàn)證方案的設(shè)置
AuthMD5 = False 指定摘要式身份驗(yàn)證和高級(jí)摘要式身份驗(yàn)證作為可能的 Windows 驗(yàn)證方案之一,返回給客戶端作為有效驗(yàn)證方案。
AuthNotifyPwdExpUnsecureURL = /iisadmpwd/anot3.asp 包含一個(gè)特定的 URL:如果用戶的密碼在 PasswordExpirePreNotifyDays 中指定的天數(shù)前到期,則調(diào)用該 URL。
AuthNotifyPwdExpURL = /iisadmpwd/anot.asp 包含一個(gè)特定的 URL:如果用戶的密碼在 PasswordExpirePreNotifyDays 中指定的天數(shù)前到期,則調(diào)用該 URL。將以安全的 (HTTPS) 方式調(diào)用它。
AuthNTLM = True 指定集成 Windows 身份驗(yàn)證(也稱作質(zhì)詢/響應(yīng)或 NTLM 驗(yàn)證)作為可能的 Windows 驗(yàn)證方案之一,返回給客戶端作為有效驗(yàn)證方案。
AuthPassport = False true 的值表示啟用了 Microsoft? .NET Passport 身份驗(yàn)證
AuthPersistence = 64 指定了使用 NTLM 驗(yàn)證跨越連接上的請(qǐng)求時(shí)的驗(yàn)證持久性
AuthPersistSingleRequest = True 將該標(biāo)志設(shè)置成 true 指定驗(yàn)證僅對(duì)一個(gè)連接上的單個(gè)請(qǐng)求持久。IIS 在每個(gè)請(qǐng)求的末尾重設(shè)驗(yàn)證,并且在會(huì)話的下一個(gè)請(qǐng)求上強(qiáng)制執(zhí)行重驗(yàn)證。
AzEnable = False 用于虛擬目錄、應(yīng)用程序,或配置數(shù)據(jù)庫中項(xiàng)相應(yīng)的 URL 的 URL 授權(quán)。
AzImpersonationLevel = 0 用于應(yīng)用程序的模擬行為,該模擬行為允許配置 Web 應(yīng)用程序模擬客戶端用戶、IIS 工作進(jìn)程,或工作進(jìn)程的 IUSER_* 帳戶。
AzScopeName = 將虛擬目錄、應(yīng)用程序或 URL 與作用域相關(guān)聯(lián)。如果沒有指定作用域或指定了空子符串,則使用 IIS 6.0 URL 授權(quán)的默認(rèn)作用域。
AzStoreName = 授權(quán)管理器策略存儲(chǔ)與虛擬目錄、應(yīng)用程序或 URL 相關(guān)聯(lián)。
CacheControlCustom = 指定了自定義 HTTP 1.1 緩存控制指令。
CacheControlMaxAge = 0 指定了 HTTP 1.1 緩存控制最大時(shí)間值。
CacheControlNoCache = False 保護(hù)緩存內(nèi)容的 HTTP 1.1 指令
CacheISAPI = True 在第一次使用 ISAPI 擴(kuò)展后是否在內(nèi)存中進(jìn)行緩存。
Caption = 提供對(duì)象的一段簡(jiǎn)短文本描述(一行字符串)。
CGITimeout = 300 指定 CGI 應(yīng)用程序超時(shí)(以秒為單位)。
ContentIndexed = True 指定安裝的目錄索引程序是否應(yīng)該檢索該目錄樹下的內(nèi)容。
CreateCGIWithNewConsole = False 指示 CGI 應(yīng)用程序是否在自己的控制臺(tái)上運(yùn)行。
CreateProcessAsUser = True 是在系統(tǒng)環(huán)境中創(chuàng)建 CGI 進(jìn)程還是在請(qǐng)求用戶環(huán)境中創(chuàng)建 CGI 進(jìn)程。
DefaultDoc = index.aspx,default.aspx 包含一個(gè)或多個(gè)默認(rèn)文檔的文件名,如果在客戶端的請(qǐng)求中不包含文件名,將把默認(rèn)文檔的文件名返回給客戶端。
DefaultDocFooter = 附加到返回到客戶端的 HTML 文件的自定義頁腳(頁腳并不附加到 ASP 文件)。
DefaultLogonDomain = 服務(wù)器用來對(duì)用戶進(jìn)行身份驗(yàn)證的默認(rèn)域(在 UserIsolationMode = 2 的 Web 宿主方案中)。
Description = 提供對(duì)象的一段較長(zhǎng)文本描述。
DirBrowseFlags = 1073741886 可以提供多少目錄和文件信息(如果啟用瀏覽)以及目錄中是否包含默認(rèn)頁的標(biāo)記。
DirBrowseShowDate = True 設(shè)置為 true 時(shí),瀏覽目錄時(shí)將顯示日期信息。
DirBrowseShowExtension = True 設(shè)置為 true 時(shí),瀏覽目錄時(shí)將顯示文件擴(kuò)展名。
DirBrowseShowLongDate = True 設(shè)置為 true 時(shí),顯示目錄時(shí)將在擴(kuò)展格式中顯示日期信息。
DirBrowseShowSize = True 設(shè)置為 true 時(shí),瀏覽目錄時(shí)將顯示文件大小信息。
DirBrowseShowTime = True 設(shè)置為 true 時(shí),顯示目錄時(shí)將顯示文件時(shí)間信息。
DisableStaticFileCache = False 目錄的靜態(tài)文件緩存
DoDynamicCompression = False 與 HcDoDynamicCompression 屬性相同。
DontLog = False 是否將客戶端的請(qǐng)求寫入日志文件。
DoStaticCompression = False 與 HcDoStaticCompression 屬性相同。
EnableDefaultDoc = True 設(shè)置為 true 時(shí),瀏覽目錄時(shí)系統(tǒng)會(huì)加載該目錄的默認(rèn)文檔(由 De, faultDoc 屬性指定)。
EnableDirBrowsing = False 設(shè)置為 true 時(shí),將啟用目錄瀏覽。
EnableDocFooter = False 啟用或禁用由 DefaultDocFooter 屬性指定的自定義頁腳。
EnableReverseDNS = False 啟用或禁用萬維網(wǎng)發(fā)布服務(wù)(WWW 服務(wù))的反向域名服務(wù)器 (DNS) 查找。
FrontPageWeb = True 服務(wù)器實(shí)例是否由 Microsoft? FrontPage? 處理。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“C#控制IIS動(dòng)態(tài)添加刪除網(wǎng)站的示例”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
當(dāng)前題目:C#控制IIS動(dòng)態(tài)添加刪除網(wǎng)站的示例
轉(zhuǎn)載來于:http://aaarwkj.com/article0/jjpioo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、App開發(fā)、虛擬主機(jī)、搜索引擎優(yōu)化、外貿(mào)建站、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)