使用Web.config

来源:互联网 发布:淘宝售后客服怎么应聘 编辑:程序博客网 时间:2024/04/30 16:50

使用section的方式进行注册,很有条理。用相应的section handler去处理并返回相应的类。用户如果自定义section,那么必须要有相应的实体类来接受这个section中的内容。

这里有两种方式,第一种方式是用户没有自定义section handler,这时就需要实体类继承自相应的接口了,如ConfigurationElement,ConfigurationElementCollection等。系统在runtime的时候读取的时候,通过代码ConfigurationManager.GetSection("XXX")as XXX来获取相应的承载了配置信息的对应实体;

第二种方式是自定义section handler,实现相应的create方法,在这个handler中返回你所需要的类。在runtime的时候,ConfigurationManager.GetSection("XXX")会调用你的section handler的create方法,返回create返回的对象,所以,ConfigurationManager.GetSection("XXX")返回的就是你create里边的对象。一般第三方的插件,如Elmah, Trace, Unity, EntityFramework等,都是通过自定义section handler来实现读取配置信息的。相关链接

http://nnish.com/2009/09/17/custom-configuration-section-in-c/
http://www.codeproject.com/Articles/10981/Understanding-Section-Handlers-App-config-File

关于SectionGroup
使用sectionGroup是为了逻辑上把一个模块的section放到一起,显示比较清楚,还有就是避免命名冲突的可能。因为最终会调用ConfigurationManager.GetSection("XXX") as XXX 的方式来获取配置文件中的内容,传入的XXX即section的name,如果有group的话,传入xxgroup/xxsection, 与命名空间类似,能够避免因命名冲突找不到确切的section的问题。
ConfigurationManager.GetSection("XXX")是在没有用户定制handler的情况下使用默认的handler来处理这个section,返回一个object对象,如果用户在type中定制了handler,就会用用户的handler。



原创粉丝点击