程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Enterprise Library Step By Step系列(一) 配置應用程序塊 - 入門篇

Enterprise Library Step By Step系列(一) 配置應用程序塊 - 入門篇

編輯:關於.NET

寫在前面:

最近准備寫Enterprise Library Step By Step的系列文章,對於每一個應用程序塊,我都會用入門篇,進階篇,剖析篇三篇文章去寫。 在入門篇裡會詳細介紹應用程序塊的使用步驟,主要是針對新手入門的;進階篇會介紹一些應用程序塊的更深的應用及擴展機制;剖析篇會去分析應用程序塊的底層設計和類設計的一些內容。所有的觀點都純屬個人理解,有不當之處請大家多多指教。

一.配置應用程序塊概述:

幾乎每一個應用程序都需要一些配置信息,這些信息可以是簡單的數據庫連接信息,或者復雜的多塊多層次用戶信息。如何以及在哪裡存儲應用程序配置數據是程序員經常面臨的問題。

.為應用系統提供了一個通用的配置管理解決方案,可方便靈活地從各種存儲中讀寫配置信息配置信息

.為讀寫配置信息提供了簡單的接口

.支持不同的配置存儲

.支持配置信息的加密

.支持配置文件的動態更新

.支持復雜的配置對象

Config Config Block Block 的使用場景:

.應用系統需要在運行時讀寫復雜的配置信息

.應用系統需要在配置文件中保存敏感數據(比如密碼)

.設計應用系統時能幫助開發人員進行正確的配置讀寫

.應用系統部署後系統管理員能有一個好的工具修改XM 配置文件

二.使用步驟:

假設已經新建好的項目中,並且已經存在Web.config或App.config配置文件。

第一步:建立自定義配置數據類:

該類根據項目的實際情況建立,需要注意的是該類必須是可序列化的(XMLSerializer),並且可以任意復雜

1using System;
2using System.Text;
3using System.Xml.Serialization;
4
5namespace ConfigurationQuickStart
6{
7  public class EditorFontData
8  {
9    private string name;
10    private float  size;
11    private int    style;
12
13    public EditorFontData()
14    {
15    }
16
17    public string Name
18    {
19      get{ return name; }
20      set{ name = value; }
21    }
22
23    public float Size
24    {
25      get{ return size; }
26      set{ size = value; }
27    }
28    public int Style
29    {
30      get{ return style; }
31      set{ style = value; }
32    }
33
34    public override string ToString()
35    {
36      StringBuilder sb = new StringBuilder();
37      sb.AppendFormat("Name = {0}; Size = {1}; Style = {2}", name, size.ToString(), style.ToString());
38
39      return sb.ToString();
40    }
41  }
42}
43

第二步:用Enterprise Library Configuration配置應用程序:

1.運行Enterprise Library Configuration 工具,選擇File | Open Application 打開App.config文件

2.右擊Application並選擇New | Configuration Application Block,創建一個配置應用程序塊

3.右擊 Configuration Application Block 並選擇 New | Configuration Section,創建一個配置區,注意對於每一個配置區都要設置一個Storage Provider 和一個Transformer。

4.重命名configuration section為EditorSettings

5.右擊EditorSettings 並選擇New | XML File Storage Provider,設置它的Storage Provider

6.在FileName輸入框中輸入EditorSettings.config,路徑相對於App.config

7.在Enterprise Library Configuration 工具裡面選擇New | XML Serializer Transformer。指定它的Transformer

8.選擇File | Save All命令保存全部

9.此時在VS中選擇項目|顯示所有文件,就會發現在項目中多出了一個名為EditorSettings.config的配置文件

10.在項目中選擇 屬性|生成事件|生成後事件命令行 輸入如下內容:

1 copy "$(ProjectDir)\*.config" "$(TargetDir)"

第三步:用代碼訪問配置數據:

1.在項目中添加如下兩個引用

Microsoft.Practices.EnterpriseLibrary.Common.dll,

Microsoft.Practices.EnterpriseLibrary.Configuration.dll.

2.並在.CS代碼中添加:

1using Microsoft.Practices.EnterpriseLibrary.Configuration;

3.寫配置信息:注意在寫配置信息時是整個配置區被覆蓋(無合並),另外,元配置文件必須包含該配置區的定義。

1/**//// <summary>
2    /// 寫XML
3    /// </summary>
4    private void writeXmlConfigDataButton_Click(object sender, EventArgs e)
5    {
6      EditorFontData configData = new EditorFontData();
7
8      if (fontDialog.ShowDialog() == DialogResult.OK)
9      {
10        configData.Name = fontDialog.Font.Name;
11        configData.Size = fontDialog.Font.Size;
12        configData.Style = Convert.ToInt32(fontDialog.Font.Style);
13
14        /**////注意WriteConfiguration 方法,有兩個參數:
15        ///第一個是配置節名稱
16        ///第二個就是自定義配置類的對象
17        ///實際上就是將配置數據寫到這個配置節裡去了
18        ///程序對此的處理是透明的
19        ConfigurationManager.WriteConfiguration("EditorSettings", configData);
20
21        StringBuilder results = new StringBuilder();
22        results.Append("Configuration Data Updated:");
23        results.Append(Environment.NewLine);
24        results.Append('\t');
25        results.Append(configData.ToString());
26
27      }
28

4.讀配置信息:

1/**//// <summary>
2    /// 讀XML
3    /// </summary>
4    private void readXmlConfigDataButton_Click(object sender, System.EventArgs e)
5    {
6      Cursor = System.Windows.Forms.Cursors.WaitCursor;
7
8      /**////GetConfiguration方法就一個參數,即配置節名稱
9      ///注意別忘了進行強制類型轉換
10      EditorFontData configData = ConfigurationManager.GetConfiguration("EditorSettings") as EditorFontData;
11
12      StringBuilder results = new StringBuilder();
13      results.Append("Configuration settings:");
14      results.Append(Environment.NewLine);
15      results.Append('\t');
16      results.Append(configData.ToString());
17      results.Append(Environment.NewLine);
18
19      Cursor = System.Windows.Forms.Cursors.Arrow;
20    }

入門篇就到這裡了,下面我會盡快寫配置應用程序塊的進階篇及剖析篇的:)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved