实现IConfigurationSectionHandler接口来编写自定义配置
- 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>
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论