快速业务通道

TheBeerHouse网站项目学习笔记(2)----个性化管理

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
射以及这么映射的用意是什么.

<theBeerHouse>
                   <contactForm mailTo="******@****.com"/>
                   <articles pageSize="10" />
               </theBeerHouse>

theBeerHouse配置节中目前有两个子节点,这两个子节点分别映射到如下ConfigSection.cs中的黄色高 亮部分属性:

ConfigSection.cs

public class TheBeerHouseSection : ConfigurationSection
    {
        [ConfigurationProperty("defaultConnectionStringName", DefaultValue = 

"LocalSqlServer")]
        public string DefaultConnectionStringName
        {
            get { return (string)base["defaultConnectionStringName"]; }
            set { base["connectionStdefaultConnectionStringNameringName"] = value; 

}
        }
        [ConfigurationProperty("defaultCacheDuration", DefaultValue = 

"600")]
        public int DefaultCacheDuration
        {
            get { return (int)base["defaultCacheDuration"]; }
            set { base["defaultCacheDuration"] = value; }
        }
        [ConfigurationProperty("contactForm", IsRequired = true)]
        public ContactFormElement ContactForm   //用自定义类ContactFormElement代替节点
        {
            get { return (ContactFormElement)base["contactForm"]; }
        }
        //该属性返回一个ArticlesElement类型的值,这可以将自定义配置节中的数据读出
        [ConfigurationProperty("articles", IsRequired = true)]
        public ArticlesElement Articles
        {
            get { return (ArticlesElement)base["articles"]; }
        }
    }

其实我们看到,这两个属性都有 IsRequired=true 的说明,那么这个说明表示此属性是必须的,因为它 们在Web.config配置节

中都定义过,而其它的两个属性都没有 IsRequired=true 的说明,只有默认值的说明.那么这两个配置 节就是对 ConfigurationSection 类

的扩展,以便在今后使用.

注意:上面代码中两个粗红体的类 ContactFormElement 和 ArticlesElement 分别又是在同一个 ConfigSection.cs文件中定义的(如下代码):

ConfigSection.cs

public class ContactFormElement : ConfigurationElement
    {
        [ConfigurationProperty("mailSubject",
            DefaultValue = "Mail from TheBeerHouse: {0}")]
        public string MailSubject
        {
            get { return (string)base["mailSubject"]; }
            set { base["mailSubject"] = value; }
        }
        [ConfigurationProperty("mailTo", IsRequired = true)]
        public string MailTo
        {
            get { return (string)base["mailTo"]; }
            set { base["mailTo"] = value; }
        }
        [ConfigurationProperty("mailCC")]
        public string MailCC
        {
            get { return (string)base["mailCC"]; }
            set { base["mailCC"] = value; }
        }
    }

这里只罗列ContactFormElement 类,ArticlesElement 是一样的道理.它们提供了Web.config中两个子 节点 conta

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号