<strike id="5ntnv"><i id="5ntnv"><del id="5ntnv"></del></i></strike>
<strike id="5ntnv"></strike><ruby id="5ntnv"></ruby><del id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></del><strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike>
<strike id="5ntnv"></strike>
<strike id="5ntnv"></strike>
<span id="5ntnv"><dl id="5ntnv"></dl></span>
<strike id="5ntnv"><i id="5ntnv"><del id="5ntnv"></del></i></strike><th id="5ntnv"><noframes id="5ntnv"><span id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></span>
<span id="5ntnv"></span>
<strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike>
<strike id="5ntnv"><dl id="5ntnv"><del id="5ntnv"></del></dl></strike><strike id="5ntnv"><i id="5ntnv"></i></strike><span id="5ntnv"></span>
<strike id="5ntnv"></strike>
<strike id="5ntnv"></strike>
<th id="5ntnv"><noframes id="5ntnv">
<ruby id="5ntnv"></ruby>
<strike id="5ntnv"><dl id="5ntnv"></dl></strike>

貴州網站建設公司貴州網站建設公司

利用C#創建IIS站點并設置.NETFramework版本為ASP.NET2.0的方法

利用C#創建IIS站點并設置.NETFramework版本為ASP.NET2.0的利用方法

閱讀次數:160 次  來源:admin  發布時間:

/// <summary>

/// 本方法創建一個站點(當然,創建虛擬目錄也完全沒有任何問題,站點置做法類似),并設k版本并設置IIS中ASP.NET版本為2.0

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

rivate void button1_Click(object sender,利用 EventArgs e)

{

//站點名稱和物理路徑

String webSiteName = "mengxianhui"

String pathToRoot = @"c:"mengxianhui"

DirectoryEntry root = new DirectoryEntry("IIS://localhost/W3SVC");// Find unused ID value for new web site

int siteID = 1

//得到現有的站點標識

foreach (DirectoryEntry entry in root.Children)

{

if (entry.SchemaClassName == "IIsWebServer")

{

int ID = Convert.ToInt32(entry.Name)

if (ID >= siteID)

{

iteID = ID + 1

}

}

}

//利用配置文件的做法創建站點,需要先停止原來的站點置服務,以便能夠順利寫入數據

label1.Text = "正在停止服務……"

Application.DoEvents()

System.ServiceProcess.ServiceController mobServiceController3 = new System.ServiceProcess.ServiceController("IISAdmin")

foreach (System.ServiceProcess.ServiceController dependentService in mobServiceController3.DependentServices)

{

witch (dependentService.Status)

{

case ServiceControllerStatus.Stopped:

reak

case ServiceControllerStatus.StopPending:

dependentService.WaitForStatus(ServiceControllerStatus.Stopped)

reak

default:

dependentService.Stop()

dependentService.WaitForStatus(ServiceControllerStatus.Stopped)

reak

}

}

if (mobServiceController3.Status != ServiceControllerStatus.Stopped)

{

mobServiceController3.Stop()

mobServiceController3.WaitForStatus(ServiceControllerStatus.Stopped)

}

//確保服務完全停止

label1.Text = "停止服務完成!并設k版本"

Application.DoEvents()

String ConfigPath = System.Environment.SystemDirectory + @""inetsrv"MetaBase.xml"

System.Xml.XmlDocument doc = new System.Xml.XmlDocument()

doc.Load(ConfigPath)

System.Xml.XmlNamespaceManager xnm = new System.Xml.XmlNamespaceManager(doc.NameTable)

xnm.AddNamespace("mxh",利用 "urn:microsoft-catalog:XML_Metabase_V64_0")

//得到最大的網站的標識,要在其后面加入節點

tring SiteLocation = "/LM/W3SVC/" + (siteID - 1)

System.Xml.XmlNode LastWebServer = doc.SelectSingleNode("/mxh:configuration/mxh:MBProperty/mxh:IIsWebVirtualDir[@Location='" + SiteLocation + "/root']",站點置 xnm)

if (LastWebServer == null)

{

MessageBox.Show("沒有現有的 Web 服務器。")

doc = null

retur

}

//找到AdminACL設置,并設k版本每次都是利用變化的 -_-!

System.Xml.XmlNode LastWebServerFilter = doc.SelectSingleNode("/mxh:configuration/mxh:MBProperty/mxh:IIsFilters[@Location='" + SiteLocation + "/filters']/@AdminACL", xnm)

if (LastWebServer == null)

{

MessageBox.Show("沒有現有的 Web 服務器 filters。")

doc = null

retur

}

String LastWebServerFilterAdminAcl = LastWebServerFilter.Value

//創建新站點

label1.Text = "創建新站點……"

Application.DoEvents()

String NewSiteID = "/LM/W3SVC/" + siteID.ToString()

System.Xml.XmlNode NewWebServer = doc.CreateNode(System.Xml.XmlNodeType.Element,站點置 "", "IIsWebServer", "urn:microsoft-catalog:XML_Metabase_V64_0")

System.Xml.XmlAttribute NewWebServerLocation = doc.CreateAttribute("Location")

NewWebServerLocation.Value = NewSiteID

NewWebServer.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AuthFlags")

NewWebServerLocation.Value = "0"

NewWebServer.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("ServerAutoStart")

NewWebServerLocation.Value = "TRUE"

NewWebServer.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("ServerBindings")

NewWebServerLocation.Value = ":802:"

NewWebServer.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("ServerComment")

NewWebServerLocation.Value = webSiteName

NewWebServer.Attributes.Append(NewWebServerLocation)

LastWebServer.ParentNode.InsertAfter(NewWebServer, LastWebServer)

System.Xml.XmlNode NewWebServerFilter = doc.CreateNode(System.Xml.XmlNodeType.Element, "", "IIsFilters", "urn:microsoft-catalog:XML_Metabase_V64_0")

NewWebServerLocation = doc.CreateAttribute("Location")

NewWebServerLocation.Value = NewSiteID + "/filters"

NewWebServerFilter.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AdminACL")

NewWebServerLocation.Value = LastWebServerFilterAdminAcl

NewWebServerFilter.Attributes.Append(NewWebServerLocation)

NewWebServer.ParentNode.InsertAfter(NewWebServerFilter, NewWebServer)

System.Xml.XmlNode IIsWebVirtualDir = doc.CreateNode(System.Xml.XmlNodeType.Element, "", "IIsWebVirtualDir", "urn:microsoft-catalog:XML_Metabase_V64_0")

NewWebServerLocation = doc.CreateAttribute("Location")

NewWebServerLocation.Value = NewSiteID + "/root"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AccessFlags")

NewWebServerLocation.Value = "AccessRead | AccessScript"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AppFriendlyName")

NewWebServerLocation.Value = "默認應用程序"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AppIsolated")

NewWebServerLocation.Value = "2"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AppRoot")

NewWebServerLocation.Value = NewSiteID + "/Root"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("AuthFlags")

NewWebServerLocation.Value = "AuthAnonymous | AuthNTLM"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

//關于權限,可以任意組合

NewWebServerLocation = doc.CreateAttribute("DirBrowseFlags")

NewWebServerLocation.Value = "DirBrowseShowDate | DirBrowseShowTime | DirBrowseShowSize | DirBrowseShowExtension | DirBrowseShowLongDate | EnableDefaultDoc"

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerLocation = doc.CreateAttribute("Path")

NewWebServerLocation.Value = pathToRoot

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

//為安全起見,并設k版本下面的利用系統文件夾需要使用程序的方法獲取,如System.Environment.SystemDirectory,站點置和 System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory()

//這里為了簡單期間,并設k版本直接寫入

tring ScriptMaps = @".asp,C:"WINDOWS"system32"inetsrv"asp.dll,5,GET,HEAD,POST,TRACE

.cer,C:"WINDOWS"system32"inetsrv"asp.dll,5,GET,HEAD,POST,TRACE

.cdx,C:"WINDOWS"system32"inetsrv"asp.dll,5,GET,HEAD,POST,TRACE

.asa,C:"WINDOWS"system32"inetsrv"asp.dll,5,GET,HEAD,POST,TRACE

.idc,C:"WINDOWS"system32"inetsrv"httpodbc.dll,5,GET,POST

.shtm,C:"WINDOWS"system32"inetsrv"ssinc.dll,5,GET,POST

.shtml,C:"WINDOWS"system32"inetsrv"ssinc.dll,5,GET,POST

.stm,C:"WINDOWS"system32"inetsrv"ssinc.dll,5,GET,POST

.asax,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.ascx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.ashx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.asmx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.aspx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.axd,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.vsdisco,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.rem,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.soap,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.config,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.cs,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.csproj,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.vb,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.vbproj,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.webinfo,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.licx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.resx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.resources,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.xoml,C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.rules,C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.master,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.skin,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.compiled,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.browser,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.mdb,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.jsl,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.vjsproj,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.sitemap,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.msgx,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.ad,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.dd,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.ldd,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.sd,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.cd,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.adprototype,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.lddprototype,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.sdm,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.sdmDocument,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.ldb,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.svc,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,1,GET,HEAD,POST,DEBUG

.mdf,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.ldf,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.java,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.exclude,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG

.refresh,c:"windows"microsoft.net"framework"v2.0.50727"aspnet_isapi.dll,5,GET,HEAD,POST,DEBUG"

NewWebServerLocation = doc.CreateAttribute("ScriptMaps")

NewWebServerLocation.Value = ScriptMa

IIsWebVirtualDir.Attributes.Append(NewWebServerLocation)

NewWebServerFilter.ParentNode.InsertAfter(IIsWebVirtualDir, NewWebServerFilter)

doc.Save(ConfigPath)

doc = null

label1.Text = "創建站點完成!"

mobServiceController3 = null

mobServiceController3 = new System.ServiceProcess.ServiceController("w3svc")

mobServiceController3.Start()

mobServiceController3.WaitForStatus(ServiceControllerStatus.Running)

mobServiceController3 = null

label1.Text = "恭喜你,全部工作完成!"

MessageBox.Show("恭喜你,全部工作完成!")

}

贊(486)
未經允許不得轉載:>貴州網站建設公司 » 利用C#創建IIS站點并設置.NETFramework版本為ASP.NET2.0的方法
国产欧美精品