<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Enterprise Library Step By Step系列(一):配置應(yīng)用程序塊——入門篇

      寫在前面:

      最近準(zhǔn)備寫Enterprise Library Step By Step的系列文章,對(duì)于每一個(gè)應(yīng)用程序塊,我都會(huì)用入門篇,進(jìn)階篇,剖析篇三篇文章去寫。 在入門篇里會(huì)詳細(xì)介紹應(yīng)用程序塊的使用步驟,主要是針對(duì)新手入門的;進(jìn)階篇會(huì)介紹一些應(yīng)用程序塊的更深的應(yīng)用及擴(kuò)展機(jī)制;剖析篇會(huì)去分析應(yīng)用程序塊的底層設(shè)計(jì)和類設(shè)計(jì)的一些內(nèi)容。所有的觀點(diǎn)都純屬個(gè)人理解,有不當(dāng)之處請(qǐng)大家多多指教。

      一.配置應(yīng)用程序塊概述:

            幾乎每一個(gè)應(yīng)用程序都需要一些配置信息,這些信息可以是簡(jiǎn)單的數(shù)據(jù)庫(kù)連接信息,或者復(fù)雜的多塊多層次用戶信息。如何以及在哪里存儲(chǔ)應(yīng)用程序配置數(shù)據(jù)是程序員經(jīng)常面臨的問(wèn)題。

      .為應(yīng)用系統(tǒng)提供了一個(gè)通用的配置管理解決方案,可方便靈活地從各種存儲(chǔ)中讀寫配置信息配置信息

      .為讀寫配置信息提供了簡(jiǎn)單的接口

      .支持不同的配置存儲(chǔ)

      .支持配置信息的加密

      .支持配置文件的動(dòng)態(tài)更新

      .支持復(fù)雜的配置對(duì)象

      Config Config Block Block 的使用場(chǎng)景:

      .應(yīng)用系統(tǒng)需要在運(yùn)行時(shí)讀寫復(fù)雜的配置信息

      .應(yīng)用系統(tǒng)需要在配置文件中保存敏感數(shù)據(jù)(比如密碼)

      .設(shè)計(jì)應(yīng)用系統(tǒng)時(shí)能幫助開(kāi)發(fā)人員進(jìn)行正確的配置讀寫

      .應(yīng)用系統(tǒng)部署后系統(tǒng)管理員能有一個(gè)好的工具修改XM 配置文件

      二.使用步驟:

      假設(shè)已經(jīng)新建好的項(xiàng)目中,并且已經(jīng)存在Web.configApp.config配置文件。

      第一步:建立自定義配置數(shù)據(jù)類:

      該類根據(jù)項(xiàng)目的實(shí)際情況建立,需要注意的是該類必須是可序列化的(XMLSerializer),并且可以任意復(fù)雜

       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            getreturn name; }
      20            set{ name = value; }
      21        }
       
      22        
      23        public float Size 
      24        {
      25            getreturn size; }
      26            set{ size = value; }
      27        }
       
      28        public int Style 
      29        {
      30            getreturn 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配置應(yīng)用程序:

      1.運(yùn)行Enterprise Library Configuration 工具選擇File | Open Application 打開(kāi)App.config文件

      2.右擊Application并選擇New | Configuration Application Block創(chuàng)建一個(gè)配置應(yīng)用程序塊

      3.右擊 Configuration Application Block 并選擇 New | Configuration Section創(chuàng)建一個(gè)配置區(qū),注意對(duì)于每一個(gè)配置區(qū)都要設(shè)置一個(gè)Storage Provider 和一個(gè)Transformer

      4.重命名configuration sectionEditorSettings

      5.右擊EditorSettings 并選擇New | XML File Storage Provider,設(shè)置它的Storage Provider

      6.在FileName輸入框中輸入EditorSettings.config,路徑相對(duì)于App.config


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

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

      9.此時(shí)在VS中選擇項(xiàng)目|顯示所有文件,就會(huì)發(fā)現(xiàn)在項(xiàng)目中多出了一個(gè)名為EditorSettings.config的配置文件

      10.在項(xiàng)目中選擇 屬性|生成事件|生成后事件命令行 輸入如下內(nèi)容:

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

      第三步:用代碼訪問(wèn)配置數(shù)據(jù):

      1.在項(xiàng)目中添加如下兩個(gè)引用

        • Microsoft.Practices.EnterpriseLibrary.Common.dll,
        • Microsoft.Practices.EnterpriseLibrary.Configuration.dll.

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

      1using Microsoft.Practices.EnterpriseLibrary.Configuration;

      3.寫配置信息:注意在寫配置信息時(shí)是整個(gè)配置區(qū)被覆蓋(無(wú)合并),另外,元配置文件必須包含該配置區(qū)的定義。

       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 方法,有兩個(gè)參數(shù):
      15                ///第一個(gè)是配置節(jié)名稱
      16                ///第二個(gè)就是自定義配置類的對(duì)象
      17                ///實(shí)際上就是將配置數(shù)據(jù)寫到這個(gè)配置節(jié)里去了
      18                ///程序?qū)Υ说奶幚硎峭该鞯?/span>
      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方法就一個(gè)參數(shù),即配置節(jié)名稱
       9            ///注意別忘了進(jìn)行強(qiáng)制類型轉(zhuǎn)換

      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        }

      入門篇就到這里了,下面我會(huì)盡快寫配置應(yīng)用程序塊的進(jìn)階篇及剖析篇的:)
      posted @ 2005-10-14 10:51  TerryLee  閱讀(52052)  評(píng)論(100)    收藏  舉報(bào)
      主站蜘蛛池模板: 久久婷婷五月综合色和啪| 国产AV无码专区亚洲AV紧身裤| 一本大道无码av天堂| 另类 专区 欧美 制服| 亚洲色欲色欱WWW在线| 欧美黑人巨大xxxxx| 日本视频一区二区三区1| 日本欧美一区二区三区在线播放| 国产精品七七在线播放| 一区二区三区日本久久九| 欧美一本大道香蕉综合视频| 治县。| 中文国产成人精品久久不卡| 亚洲日本欧洲二区精品| 亚洲18禁一区二区三区| 极品vpswindows少妇| 资源在线观看视频一区二区| 国产一区二区三区色老头| 国产亚洲无线码一区二区| 精品偷自拍另类精品在线 | 国产精品午夜福利精品| 国产人妻人伦精品1国产丝袜| 猫咪AV成人永久网站在线观看| 另类 专区 欧美 制服| 护士张开腿被奷日出白浆| 亚洲成av人片无码迅雷下载| 狠狠色综合久久狠狠色综合| 亚洲国产美女精品久久久| 国产69精品久久久久人妻| 含紧一点h边做边走动免费视频 | 精品无码成人片一区二区| 最新国产精品拍自在线观看| 蜜臀av久久国产午夜福利软件| 国产精品国产自产拍高清| 亚洲日韩av无码一区二区三区人 | 四虎永久免费精品视频| 少妇被粗大的猛烈xx动态图| 亚洲香蕉视频天天爽| 国产亚洲一二三区精品| 日韩有码中文在线观看| 精品国产成人亚洲午夜福利|