Sử dụng lớp Configuration

Một phần của tài liệu Giáo trình ASP.NET cơ bản doc (Trang 180 - 183)

Khi bạn sử dụng một trong các phương thức mở của WebConfigurationManager như là các phương thức OpenMachineConfiguration() hoặc OpenWebConfiguration(), phương thức trả về một thực thể của lớp Configuration lớp này hỗ trợ các phương thức sau:

AppSettings: trả về phần cấu hình appSettings

ConnectionStrings: Trả về phần cấu hình connectionStrings

EvaluationContext: trả về một thực thể của lớp ContextInformation mà cho phép bạn định rõ ngữ cảnh của thông tin cấu hình

FilePath: trả về đường dẫn vật lý tới file cấu hình.

HasFile: Trả về True khi có một file đưa ra thông tin cấu hình Locations: Trả về một danh sách định nghĩa cục bộ bởi cấu hình.

NamespaceDeclared: Trả về True khi file cấu hình bao gồm các khai báo không gian tên. RootSectionGroup: Trả về nhóm thư mục gốc.

SectionGroups: trả về nhóm con được chứa đựng bởi cấu hình này. Sections: Trả về phần con chứa đựng bởi cấu hình này.

Lớp Configuration chỉ hỗ trợ các phương thức sau: GetSection: Cho phép bạn trả về phần cấu hình chỉ định

GetSectionGroup: Cho phép bạn trả về nhóm cấu hình chỉ định. Save: cho phép bạn ghi thông tin chỉnh sửa cấu hình.

SaveAs: Cho phép bạn ghi một file cấu hình mới.

Bạn có thể sử dụng thuộc tính Configuration.RootSectionGroup để lấy các phần chính trong một file cấu hình. Bạn có thể sử dụng thuộc tính SectionGroups để trả về tất cả các nhóm trong nhóm con và thuộc tính Sections để trả về tất cả các nhóm con nằm trong phần con.

Ví dụ: Gọi đệ quy hiển thị nội dung của file Machine.config trong một điều khiển TreeView <%@ PageLanguage="C#" AutoEventWireup="true"

CodeFile="ShowConfigContents.aspx.cs"Inherits="ShowConfigContents" %> <%@ ImportNamespace="System.Web.Configuration" %>

<script runat="server">

void Page_Load(object sender, EventArgs e) {

//Them nut dau tien

TreeNode parentNode = new TreeNode("configuration"); treeMachine.Nodes.Add(parentNode);

//Bat dau tu phan nhom goc

Configuration config = WebConfigurationManager.OpenMachineConfiguration(); //hien thi phan nhom con

AddChildSectionGroups(parentNode, config.RootSectionGroup); //hien thi phan con

AddChildSections(parentNode, config.RootSectionGroup); }

privatevoid AddChildSectionGroups(TreeNode parentNode, ConfigurationSectionGroup

parentConfigSectionGroup) {

foreach (ConfigurationSectionGroup configSectionGroup in

parentConfigSectionGroup.SectionGroups) {

TreeNode childNode = newTreeNode(configSectionGroup.SectionGroupName); parentNode.ChildNodes.Add(childNode);

AddChildSections(childNode, configSectionGroup); }

}

void AddChildSections(TreeNode parentNode, ConfigurationSectionGroup

parentConfigSectionGroup) {

foreach (ConfigurationSection configSection in parentConfigSectionGroup.Sections) {

TreeNode childNode = newTreeNode(configSection.SectionInformation.Name); parentNode.ChildNodes.Add(childNode);

} }

</script>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server">

<title>Hiển thị nội dung cấu hình</title> </head>

<body>

<formid="form1"runat="server">

<div>

<asp:TreeViewID="treeMachine"runat="server">

</asp:TreeView>

</div>

</form> </body> </html>

a. Chỉnh sửa các file cấu hình

Bạn có thể sử dụng lớp WebConfigurationManager không chỉ để mở đọc các giá trị của thiết lập cấu hình, mà bạn còn có thể dùng nó để sửa hoặc thêm mới một nội dung cấu hình.

Lớp Configuration chỉ hỗ trợ hai phương thức ghi nhớ thông tin phương thức Save() và SaveAs(). Ví dụ sau cho phép bạn tắt hoặc mở cho một ứng dụng.

<%@ PageLanguage="C#" AutoEventWireup="true"

CodeFile="ShowConfigModify.aspx.cs"Inherits="ShowConfigModify" %> <%@ ImportNamespace="System.Web.Configuration" %>

<script runat="server">

void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); CompilationSection section =

(CompilationSection)config.GetSection("system.web/compilation"); chkenableDebug.Checked = section.Debug;

} }

protected void btnUpdate_Click(object sender, EventArgs e) {

Configuration config =

WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); CompilationSection section =

(CompilationSection)config.GetSection("system.web/compilation"); section.Debug = chkenableDebug.Checked;

config.Save(ConfigurationSaveMode.Modified); }

</script>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server">

<title>Show Config Modify</title> </head>

<body>

<formid="form1"runat="server">

<div>

<asp:CheckBoxID="chkenableDebug"Text="Cho phép debug"runat="server"/>

<br/>

<asp:ButtonID="btnUpdate"OnClick="btnUpdate_Click"runat="server"Text="Cập nhật" />

</div>

</form> </body> </html>

Một phần của tài liệu Giáo trình ASP.NET cơ bản doc (Trang 180 - 183)

Tải bản đầy đủ (PDF)

(183 trang)