配置节点简单使用
在web开发中一般我们读取web.config里面的信息,都是通过
WebConfigurationManager.AppSettings
WebConfigurationManager.ConnectionStrings
或者时候1.1里面老的方式实现IConfigurationSection,其实都无所谓了。
这里主要讨论一下使用ConfigurationSection抽象类的方式,定义配置节,可以实现多配置节,其实和IConfigurationSection一样,没感觉有什么很大区别。做个笔记而已了
首先web.config
==============直接取属性
demo
WebConfigurationManager.AppSettings
WebConfigurationManager.ConnectionStrings
或者时候1.1里面老的方式实现IConfigurationSection,其实都无所谓了。
这里主要讨论一下使用ConfigurationSection抽象类的方式,定义配置节,可以实现多配置节,其实和IConfigurationSection一样,没感觉有什么很大区别。做个笔记而已了
首先web.config
1<configSections>
2 <section name="mqtest" type="test, __code"/>
3</configSections>
4<mqtest>
5 <aaForm asdfa="10"></aaForm>
6</mqtest>
调用2 <section name="mqtest" type="test, __code"/>
3</configSections>
4<mqtest>
5 <aaForm asdfa="10"></aaForm>
6</mqtest>
1
2/// <summary>
3/// 配置节的访问
4/// </summary>
5public class test : ConfigurationSection
6{
7 //元素
8 [ConfigurationProperty("aaForm", IsRequired = true)]
9 public aaFormElement aaForm
10 {
11 get { return (aaFormElement)base["aaForm"]; }
12 }
13
14 [ConfigurationProperty("time")]
15 public DateTime Time
16 {
17 get { return (DateTime)this["time"]; }
18 set { this["time"] = value; }
19 }
20
21 [ConfigurationProperty("tt")]
22 public int tt
23 {
24 get { return (int)this["tt"]; }
25 set { this["tt"] = value; }
26 }
27
28 public override bool IsReadOnly()
29 {
30 return false;
31 }
32}
33
34///配置节文件中的配置元素
35public class aaFormElement : ConfigurationElement
36{
37
38 [ConfigurationProperty("asdfa", DefaultValue = "10")]
39 public string aaaa
40 {
41 get { return (string)base["asdfa"]; }
42 set { base["asdfa"] = value; }
43 }
44}
45
页面访问2/// <summary>
3/// 配置节的访问
4/// </summary>
5public class test : ConfigurationSection
6{
7 //元素
8 [ConfigurationProperty("aaForm", IsRequired = true)]
9 public aaFormElement aaForm
10 {
11 get { return (aaFormElement)base["aaForm"]; }
12 }
13
14 [ConfigurationProperty("time")]
15 public DateTime Time
16 {
17 get { return (DateTime)this["time"]; }
18 set { this["time"] = value; }
19 }
20
21 [ConfigurationProperty("tt")]
22 public int tt
23 {
24 get { return (int)this["tt"]; }
25 set { this["tt"] = value; }
26 }
27
28 public override bool IsReadOnly()
29 {
30 return false;
31 }
32}
33
34///配置节文件中的配置元素
35public class aaFormElement : ConfigurationElement
36{
37
38 [ConfigurationProperty("asdfa", DefaultValue = "10")]
39 public string aaaa
40 {
41 get { return (string)base["asdfa"]; }
42 set { base["asdfa"] = value; }
43 }
44}
45
test Settings1 = (test)WebConfigurationManager.GetSection("mqtest");
Settings1.tt = 100;
Settings1.tt = 100;
==============直接取属性
<system.web>
<httpRuntime maxRequestLength="4096" executionTimeout="120" ></httpRuntime>
</system.web>
<httpRuntime maxRequestLength="4096" executionTimeout="120" ></httpRuntime>
</system.web>
Configuration config = WebConfigurationManager.OpenWebConfiguration(this.Request.ApplicationPath);
HttpRuntimeSection myHttpRuntimeSection = (HttpRuntimeSection)config.GetSection("system.web/httpRuntime");
HttpRuntimeSection myHttpRuntimeSection = (HttpRuntimeSection)config.GetSection("system.web/httpRuntime");
demo