web应用中 访问自己定义的节点

这几天在做一个urlMapping类库的时候用到了如何读取web.config中自定义节点, 做完后觉得挺好 现就制作过程叙述一下。
web.config文件在web application中起着非常重要的作用。 它本身包含了授权,handler,compilation,globalization,错误与跟踪等一系列设置。但是当你需要一些特殊的或者想添加自己的settings时,应该如何做呢?

要创建自定义设置 要求有2步:写cs代码 和 修改web.config

代码
这里我们创建了一个简单的handler , 此handler 用在web.config文件中。

 

using  System; 
using  System.Collections; 
using  System.Xml; 
using  System.Configuration; 
using  System.Web.Configuration; 

namespace  Devhood 

internal class PageStyleHandler:IConfigurationSectionHandler 

public virtual object Create(Object parent, Object context, XmlNode node) 

PageStyle config 
= new PageStyle((PageStyle)parent); 
config.LoadValuesFromConfigurationXml(node); 
return config; 
}
 
}
 

public class PageStyle 

string _backColour; internal PageStyle(PageStyle parent) 

if (parent != null
_backColour 
= parent._backColour; 
}
 
internal void LoadValuesFromConfigurationXml(XmlNode node) 

XmlAttributeCollection attribCol 
= node.Attributes; 
_backColour 
= attribCol["backColour"].Value; 
}
 
public string BackColour 

get 

return _backColour; 
}
 
}
 
}
 
}
 

 

这里有两个类:继承IConfigurationSectionHandler接口的PageStyleHandler类 和 用于从webconfig返回数据的PageStyle类。PageStyle 类可以读取一个XML 节点(自web.config)并且把节点数据保存的BackColour属性中。

设置Web.config文件
为了能够访问PageStyleHandler必须对web.config做相应的配置。

 

< configuration >
 
< configSections >
 
< sectionGroup  name ="devhood" >
 
< section  name ="pageStyle"  type ="Devhood.PageStyleHandler, PageStyle"   />
 
</ sectionGroup >
</  configSections >  
< devhood >
 
< pageStyle  backColour ="navy"   />
</  devhood >  
</ configuration >

 

这样就可以在你的web应用中 访问自己定义的节点了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值