zoukankan      html  css  js  c++  java
  • 实现IConfigurationSectionHandler接口来编写自定义配置

    发表时间:2008-4-4 10:55:00

    代码如下:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Text;
    using System.Configuration;
    using System.Xml;


    namespace Beyondbit.Portal.ConfigService {
        public class TopMenuConfigItem {
            public string Text;
            public string Value;
            public string Url;
            public string Description;
        }

        public class TopMenuConfig : IConfigurationSectionHandler {

            private IList<TopMenuConfigItem> topMenus;
            public IList<TopMenuConfigItem> TopMenus {
                get {
                    return topMenus;
                }
            }

            public static TopMenuConfig Instance() {
                return ConfigurationManager.GetSection("TopMenuConfig") as TopMenuConfig;
            }

            #region IConfigurationSectionHandler Members

            object IConfigurationSectionHandler.Create(object parent, object configContext, XmlNode section) {
                XmlNode node = section;
                topMenus = new List<TopMenuConfigItem>(node.ChildNodes.Count);

                TopMenuConfigItem m = null;
                foreach (XmlNode n in node.ChildNodes) {
                    if (n.NodeType != XmlNodeType.Comment) {
                        m = new TopMenuConfigItem();
                        m.Description = n.Attributes["Description"].Value;
                        m.Text = n.Attributes["Text"].Value;
                        m.Url = n.Attributes["Url"].Value;
                        m.Value = n.Attributes["Value"].Value;
                        topMenus.Add(m);
                    }
                }

                return this;
            }

            #endregion
        }
    }


    Web.config如下:
    <?xml version="1.0"?>
    <configuration>
     </configSections>
        <section name="TopMenuConfig" type="Beyondbit.Portal.ConfigService.TopMenuConfig,Beyondbit.Portal.ConfigService" />
      </configSections>

    <TopMenuConfig>
        <topMenu Text=" 邮件 " Value="ExchangeMail" Url="http://mail.pudong.sh/owa/?cmd=contents" Description="http://www.blog.com.cn/ 邮 件 " />
        <topMenu Text=" 通讯录 " Value="link" Url="http://contact.pudong.sh/web/Contact/ContactMain.aspx" Description="http://www.blog.com.cn/通讯录" />
        <topMenu Text=" 共享日历 " Value="calendar" Url="http://calendar.pudong.sh/web/calendar/calendarmain.aspx" Description="http://www.blog.com.cn/共享日历" />
        <topMenu Text=" 短信息 " Value="sms" Url="http://sms.pudong.sh/Web/User/SmsSend.aspx" Description="http://www.blog.com.cn/短信息" />
        <topMenu Text=" 会议通知 " Value="meeting" Url="http://meeting.pudong.sh/tasks/tasklist.aspx" Description="http://www.blog.com.cn/会议通知" />
      </TopMenuConfig>
      <appSettings />
     <system.web>
     </system.web>
    </configuration>

  • 相关阅读:
    vim同时打开编辑多个文件
    OOB区之初认识
    nandflash擦除、写操作的状态判断
    NFS挂载文件系统:unable to get mount port number from server, using default
    交叉调试出错
    (转)C++中extern “C”含义深层探索
    arm汇编程序中的[|]
    nanflash编程的地址问题
    c# ListView控件的常用屬性、方法及事件
    ListBox常用屬性和常用事件
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/1446246.html
Copyright © 2011-2022 走看看