- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自定义配置节点configsections
由于最近一个项目的数据库变动比较频繁, 为了减少数据层的负担, 打算采用.net的MVC框架, 使用LINQ对付数据层.???? 这个框架的web.config文件里出现了configSections section, 这个之前没有留意, 乘着项目不是很急, 顺势把它给搞懂, 花了一下午时间, 终于搞定, 有点心得, 写下来以供面试官翻阅.??? ?asp.net为啥要引用configSections?因为用户的一些对象, 可能在config里进行配置, 但是config怎么能随便让你添加自己的节点呢! 不行你自己试试, 在任何位置添加任何没有申明的节点, 系统都不会让你通过, 更不会让你去读它了, 当然, 你打算在别的xml文件里添加节点, 然后读出来, 创建对象, 这个没问题.?为了系统能有组织的管理用户的在配置文件里的自定义信息, 就要使用configSections了, 分3步走:? 1. 创建一个实现IConfigurationSectionHandler的类?? 2. 在config文件里添加如下节点:?? configuration????????????? configSections?????????????????? section name=NameM type=LearningConfiguration.NameSectionHandler/????????????? /configSections??????????????NameM?????????????????? Add key=name1 firstname=Jim lastname=w1/?????????????????? Add key=name2 firstname=Chris lastname=w2/?????????????? /NameM??????????? 说明: 在configSections下添加一个section子节点, 写好标示名和类型, 然后在紧接这下面实现这个标示名的细节内容,就是我们当初想添加的自己的自定义信息了.?????????? 3. 实现IConfigurationSectionHandler唯一的方法: public object Create(object parent, object configContext, XmlNode section), 这里的最后一个参数就是自定义信息那个节点了, 粗体部分. 通过处理这堆信息, 返回你要的对象.????????4. 使用这个返回的对象,通过System.Configuration.ConfigurationManager.GetSection()方法.?以下是示例代码:(NameSectionHandler.cs)Code(NameManagement.cs)namespace?LearningConfiguration{????public?class?NameManagement????{????????string?_firstName;????????public?string?FirstName????????{????????????get?{?return?this._firstName;?}????????????set?{?this._firstName?=?value;?}????????}????????string?_lastName;????????public?string?LastName????????{????????????get?{?return?this._lastName;?}????????????set?{?this._lastName?=?value;?}????????}????????public?NameManagement(string?firstName,?string?lastName)????????{????????????this.FirstName?=?firstName;????????????this.LastName?=?lastName;????????}????????public?string?RetrieveFullName()????????{????????????return?string.Format({0}?{1},?this.FirstName,?this.LastName);????????}????}}(Default.aspx.cs)namespace?LearningConfiguration{????public?partial?class?_Default?:?System.Web.UI.Page????{????????protected?vo
原创力文档


文档评论(0)