日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用 ASP.NET 配置类

發布時間:2025/3/20 asp.net 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 ASP.NET 配置类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用 Configuration 類可以完成大部分的配置工作。該類用于對計算機、.NET 客戶應用程序、ASP.NET 應用程序、Web 目錄、以及保存在 Web 目錄中的資源配置進行展示,

在 ASP.NET 2.0 中,你可以通過使用 WebConfigurationManager 對象的方法獲取配置段并對 Configuration 類實例進行訪問。在 .NET Framework 客戶應用程序中,你可以使用類似的 ConfigurationManager 對象。

下面的內容對不同情況下的配置類使用方式進行描述。

下例所有實例都需要首先使用非靜態的 System.Configuration.Configuration.GetSection(System.String) 方法和 System.Configuration.Configuration.GetSectionGroup(System.String) 方法創建 System.Configuration.Configuration 類實例。這樣允許你從任何應用程序中獲取配置信息。如果你在獲取當前應用程序的配置信息時,請使用靜態方法 GetSection,以獲得更快的處理速度。

打開被映射在全局配置設定中的配置對象

要打開全局配置文件,你的應用程序應該調用 WebConfigurationManager 類的靜態方法 OpenMachineConfiguration。在接下來的代碼實例中,OpenMachineConfiguration 方法打開并返回與 .NET Framework 2.0 的 Machine.config 文件相匹配的配置對象。該方法被重載后的其他版本則允許你對位置、遠程服務器、以及用戶信息進行指定。

// 獲取本地計算機的機器配置設定 System.Configuration.Configuration machineConfig = System.Web.Configuration.WebConfigurationManager.OpenMachineConfiguration(); machineConfig.SaveAs("c:\\machineConfig.xml");

配置 API 通常是與版本相關的。所以,不可以使用該方法打開其他版本 .NET Framework 中的 Machine.config 文件。

必需的特權

要打開機器配置文件,應用程序需要擁有物理 Machine.config 文件的讀取權限。要對機器配置進行更改,應用程序需要擁有該文件的寫入權限,以及創建 .NET Framework 配置目錄的特權。

打開被映射在 Web 應用程序配置中的配置對象

要打開 Web 應用程序的配置文件,你的應用程序需要調用 WebConfigurationManager 類的靜態方法 OpenWebConfiguration,并把要打開的 Internet 信息服務(IIS)管理器虛擬目錄的相關路徑作為參數傳遞。

path 參數的值可以從包含被請求配置的 IIS 元數據庫路徑中獲取。例如,如果 IIS 元數據庫路徑是 W3SVC1/ROOT/Temp,因為默認網站是 1,那么 path 的值就應該就是 /Temp。

在下例代碼實例中,OpenWebConfiguration 方法打開并返回與默認網站的 Temp 應用程序相對應的配置對象。該配置對象包括本地 Web.config 文件中指定的配置設定以及所有繼承自父配置文件的設定,一直追溯到 Machine.config 文件。該方法被重載的其他版本允許你對網站、位置、遠程服務器、以及用戶信息進行指定。

// 獲取 Web 應用程序的配置設定。 System.Configuration.Configuration webConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/Temp"); webConfig.SaveAs("c:\\webConfig.xml");

甚至在物理 Web.config 文件不存在的時候也能夠打開 System.Configuration.Configuration 對象。這種情況下被返回的配置由繼承自配置文件層次中的全部設定而組成。

必需的特權

要打開 Web 配置文件,應用程序需要擁有物理 Web.config 文件以及配置層次中的所有父文件的讀取權限。

打開被映射到配置段中的配置對象

要從配置段中獲取配置信息,你的應用程序需要調用 Configuration 類的非靜態方法 GetSectionGroup,并傳遞配置段名參數。至于包含在配置段分組中的配置段,你既可以為配置段(System.web/anonymouseIdentification)使用 XPath,也可以獲取第一個被映射到配置段分組的配置對象。

下例代碼實例中,OpenWebConfiguration 方法打開并返回默認網站的 Web 應用程序(Temp)配置對象,然后使用該對象獲取 system.web 配置段分組的引用,該對象同樣也可以被用于獲取 anonymouseIdentification 配置段的引用。

// 獲取 <anonymouseIdentification> 配置段中的配置設定。 System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/Temp"); System.Web.Configuration.SystemWebSectionGroup systemWeb = config.GetSectionGroup("system.web") as System.Web.Configuration.SystemWebSectionGroup; System.Web.Configuration.AnonymousIdentificationSection sectionConfig = systemWeb.AnonymousIdentification; if (null != sectionConfig) {StringBuilder sb = new StringBuilder();sb.Append("<anonymousIdentification> attributes:\r\n");System.Configuration.PropertyInformationCollection props = sectionConfig.ElementInformation.Properties;foreach (System.Configuration.PropertyInformation prop in props){sb.AppendFormat("{0} = {1}\r\n", prop.Name.ToString(), prop.Value.ToString());}Console.WriteLine(sb.ToString()); }

甚至在物理 Web.config 文件不存在的時候也能夠打開 System.Configuration.Configuration 對象。這種情況下被返回的配置由繼承自配置文件層次中的全部設定而組成。

必需的權限

要打開某個 Web 配置文件的配置段,應用程序需要擁有物理 Web.config 文件以及所有父文件的讀取權限。被托管代碼應用程序還需要相應的權限以對系統配置段進行讀取。完全可信度和高可信度的應用程序在默認時已經擁有這些權限。換句話說,默認時,中可信度和低可信度應用程序將無法對配置段進行讀取。

打開被映射到遠程配置設定中的配置對象

你可以使用配置 API 打開遠程計算機上的配置。配置 API 可以打開另一臺計算機中的機器配置文件,以及任何 IIS 應用程序或子目錄中的應用程序配置文件。

要打開另一臺電腦的機器配置文件,應用程序需要調用靜態方法 OpenMachineConfiguration,并把服務器名稱作為參數傳遞給該方法。

要打開另一臺電腦的 Web.config 文件,應用程序需要調用靜態方法 OpenWebConfiguration,并把網站相對路徑、網站標識符、和服務器名稱一并傳遞給配置對象。被返回的配置對象中包括了本地 Web.config 文件設定和所有父配置文件中的被繼承設定,一直追溯到 Machine.config 文件。

服務器名稱是有效的 Windows 網絡計算機名稱。這些名稱并沒有被 ASP.NET 處理,而是直接傳遞給操作系統。

下例代碼實例說明了如何打開默認網站根配置中的機器配置,以及應用程序目錄中的 Web 配置。

IntPtr userToken = System.Security.Principal.WindowsIdentity.GetCurrent().Token;// 獲取遠程計算機的機器配置設定。 System.Configuration.Configuration remoteMachineConfig = System.Web.Configuration.WebConfigurationManager.OpenMachineConfiguration(null, "ServerName", userToken); remoteMachineConfig.SaveAs("c:\\remoteMachineConfig.xml");// 獲取遠程計算機的根網站配置。 System.Configuration.Configuration remoteRootConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null, null, null, "ServerName", userToken); remoteRootConfig.SaveAs("c:\\remoteRootConfig.xml");// 獲取遠程計算機目錄 W3SVC/1/Root/Temp 的應用程序配置設定 System.Configuration.Configuration remoteWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/Temp", "1", null, "ServerName", userToken); remoteWebConfig.SaveAs("c:\\remoteWebConfig.xml");
必需的特權

要打開遠程計算機上的配置文件,應用程序必須擁有遠程計算機上的管理員特權。這個需求比在本地使用時要受到更多的限制。至于本地配置文件,應用程序只需要擁有配置文件和 IIS 元數據庫(用于解析 IIS 路徑)的讀取權限就可以了。

請在嘗試進行配置之前使用“-config+”參數運行遠程計算機上的 Aspnet_regiis.exe 工具。

更新配置設定

要對已打開的配置對象進行更新,應用程序需要調用 Configuration 對象的 Save 方法或者 SaveAs 方法。這些方法為該對象對任何配置設定所做的更改進行寫入。如果配置文件尚不存在,將會自動創建一個全新的配置文件。

下例代碼實例把 compilation 配置段的 debug 參數設置成 true。

// 更新 Web 應用程序配置設定。 System.Configuration.Configuration updateWebConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/Temp"); System.Web.Configuration.CompilationSection compilation = updateWebConfig.GetSection("system.web/compilation") as System.Web.Configuration.CompilationSection; Console.WriteLine("Current <compilation> debug = {0}", compilation.Debug); compilation.Debug = true; if (!compilation.SectionInformation.IsLocked) {updateWebConfig.Save();Console.WriteLine("New <compilation> debug = {0}", compilation.Debug); } else {Console.WriteLine("Could not save configuration."); }

現在,在更新配置數據的時候不存在任何有效的鎖定功能。因此,配置 API 會使用一個優化的合作模型對配置進行更改。在優化的合作模型之下,如果兩個應用程序同時打開相同的配置,它們將會得到配置對象的唯一配置。如果某個應用程序嘗調用 Save 或 SaveAs 方法對配置文件進行更改,并且實際的配置文件在應用程序已經在獲取配置對象之后更新了配置,那么該方法就會引起一個異常。實際文件可能在另一個應用程序更新配置或者對依賴于文件的配置 API 進行更改的時候就已經被更改。

必需的特權

要更改 Web 配置,應用程序需要擁有文件的寫入權限,還要擁有包含該文件的目錄的創建特權。

轉載于:https://www.cnblogs.com/Laeb/archive/2006/12/21/599474.html

總結

以上是生活随笔為你收集整理的使用 ASP.NET 配置类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。