Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
2005-10-14 10:51
323 查看
写在前面:
最近准备写Enterprise Library Step By Step的系列文章,对于每一个应用程序块,我都会用入门篇,进阶篇,剖析篇三篇文章去写。 在入门篇里会详细介绍应用程序块的使用步骤,主要是针对新手入门的;进阶篇会介绍一些应用程序块的更深的应用及扩展机制;剖析篇会去分析应用程序块的底层设计和类设计的一些内容。所有的观点都纯属个人理解,有不当之处请大家多多指教。
一.配置应用程序块概述:
几乎每一个应用程序都需要一些配置信息,这些信息可以是简单的数据库连接信息,或者复杂的多块多层次用户信息。如何以及在哪里存储应用程序配置数据是程序员经常面临的问题。
[align=left].为应用系统提供了一个通用的配置管理解决方案,可方便灵活地从各种存储中读写配置信息配置信息[/align]
.为读写配置信息提供了简单的接口
.支持不同的配置存储
.支持配置信息的加密
.支持配置文件的动态更新
.支持复杂的配置对象
[align=left]Config Config Block Block 的使用场景:[/align]
[align=left].应用系统需要在运行时读写复杂的配置信息[/align]
[align=left].应用系统需要在配置文件中保存敏感数据(比如密码)[/align]
[align=left].设计应用系统时能帮助开发人员进行正确的配置读写[/align]
[align=left].应用系统部署后系统管理员能有一个好的工具修改XM 配置文件[/align]
二.使用步骤:
假设已经新建好的项目中,并且已经存在Web.config或App.config配置文件。
第一步:建立自定义配置数据类:
该类根据项目的实际情况建立,需要注意的是该类必须是可序列化的(XMLSerializer),并且可以任意复杂
1
using System;
2
using System.Text;
3
using System.Xml.Serialization;
4
5
namespace 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代码中添加:
1
using 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
}
入门篇就到这里了,下面我会尽快写配置应用程序块的进阶篇及剖析篇的:)
最近准备写Enterprise Library Step By Step的系列文章,对于每一个应用程序块,我都会用入门篇,进阶篇,剖析篇三篇文章去写。 在入门篇里会详细介绍应用程序块的使用步骤,主要是针对新手入门的;进阶篇会介绍一些应用程序块的更深的应用及扩展机制;剖析篇会去分析应用程序块的底层设计和类设计的一些内容。所有的观点都纯属个人理解,有不当之处请大家多多指教。
一.配置应用程序块概述:
几乎每一个应用程序都需要一些配置信息,这些信息可以是简单的数据库连接信息,或者复杂的多块多层次用户信息。如何以及在哪里存储应用程序配置数据是程序员经常面临的问题。
[align=left].为应用系统提供了一个通用的配置管理解决方案,可方便灵活地从各种存储中读写配置信息配置信息[/align]
.为读写配置信息提供了简单的接口
.支持不同的配置存储
.支持配置信息的加密
.支持配置文件的动态更新
.支持复杂的配置对象
[align=left]Config Config Block Block 的使用场景:[/align]
[align=left].应用系统需要在运行时读写复杂的配置信息[/align]
[align=left].应用系统需要在配置文件中保存敏感数据(比如密码)[/align]
[align=left].设计应用系统时能帮助开发人员进行正确的配置读写[/align]
[align=left].应用系统部署后系统管理员能有一个好的工具修改XM 配置文件[/align]
二.使用步骤:
假设已经新建好的项目中,并且已经存在Web.config或App.config配置文件。
第一步:建立自定义配置数据类:
该类根据项目的实际情况建立,需要注意的是该类必须是可序列化的(XMLSerializer),并且可以任意复杂
1
using System;
2
using System.Text;
3
using System.Xml.Serialization;
4
5
namespace 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代码中添加:
1
using 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
}
入门篇就到这里了,下面我会尽快写配置应用程序块的进阶篇及剖析篇的:)
相关文章推荐
- Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
- Enterprise Library Step By Step系列(二):配置应用程序块——进阶篇
- Enterprise Library Step By Step系列(十五):配置应用程序块——设计篇
- Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
- Enterprise Library Step By Step系列(十五):配置应用程序块——设计篇
- Enterprise Library Step By Step系列(十五):配置应用程序块——设计篇
- Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
- Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
- Enterprise Library Step By Step系列(一):配置应用程序块——入门篇
- Enterprise Library Step By Step系列(二):配置应用程序块——进阶篇
- Enterprise Library Step By Step系列(二):配置应用程序块——进阶篇
- Enterprise Library Step By Step系列(九):缓冲应用程序块——入门篇
- Enterprise Library Step By Step系列(十):缓冲应用程序块——进阶篇
- Enterprise Library Step By Step系列(九):缓冲应用程序块——入门篇
- Enterprise Library Step By Step系列(十):缓冲应用程序块——进阶篇
- Enterprise Library Step By Step系列(十二):异常处理应用程序块——进阶篇
- Enterprise Library Step By Step系列(十):缓冲应用程序块——进阶篇
- Enterprise Library Step By Step系列(五):安全应用程序块——入门篇
- Enterprise Library Step By Step系列(十二):异常处理应用程序块——进阶篇
- Enterprise Library Step By Step系列(十三):加密应用程序块——入门篇