ASP教程 PHP教程 JSP教程 CGI教程 XML教程
  • ASP.NET教程
  • JAVA教程
    当前位置:教程 > 程序设计 > ASP.NET教程 > 正文

    Asp.Net配置文件修改(二)

    编辑:教程网 来源:网络 时间:2013年08月15日 17:47
  • 说了对配置文件的修改,基本上都已经是全部了,后来也补充了SingleTagSectionHandler的访问,现在把对SingleTagSectionHandler的写以及一些能偷懒的方法一起说下,希望大家有好东西都能够分享下,有时用到了,就是好东西,不用到就当作是学习吧

    提供二个访问配置文件的静态方法

            /// <summary>
            /// 打开默认的配置文件.exe.config 
            /// </summary>
            /// <returns></returns>
            public static Configuration GetConfiguration()
            {
                return ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            }
    
            /// <summary>
            /// 获取指定的配置文件。
            /// </summary>
            /// <param name="configFullPath">配置文件的全名称</param>
            /// <returns></returns>
            public static Configuration GetConfiguration(string configFullPath)
            {
                ExeConfigurationFileMap configFile = new ExeConfigurationFileMap();
                configFile.ExeConfigFilename = configFullPath;
                Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFile, ConfigurationUserLevel.None);
                return config;
            }
    
    
    

    通过上两个静态方法可以获取到Configuration实例

    获取SingleTagSectionHandler节点的值的多个方法

            /// <summary>
            /// 获取SingleTagSectionHandler某节点的值。
            /// </summary>
            /// <param name="config"></param>
            /// <param name="sectionName"></param>
            /// <param name="property"></param>
            /// <returns></returns>
            public static string GetSingleTagSectionItemValue(this Configuration config, string sectionName, string property)
            {
                Dictionary<string, string> dict = GetSingleTagSectionValues(config, sectionName);
                if (dict != null && dict.Count > 0)
                {
                    if (dict.ContainsKey(property))
                        return (string)dict[property];
                }
                return null;
            }
    
            /// <summary>
            /// 获取SingleTagSectionHandler节点的值。
            /// </summary>
            /// <param name="config"></param>
            /// <param name="sectionName"></param>
            /// <returns></returns>
            public static Dictionary<string, string> GetSingleTagSectionValues(this Configuration config, string sectionName)
            {
                var section = config.GetSection(sectionName);
                if (section == null || section.SectionInformation == null)
                    return null;
                ConfigXmlDocument xdoc = new ConfigXmlDocument();
                xdoc.LoadXml(section.SectionInformation.GetRawXml());
                System.Xml.XmlNode xnode = xdoc.ChildNodes[0];
    
                Dictionary<string, string> result = new Dictionary<string, string>();
                IDictionary dict = (IDictionary)(new SingleTagSectionHandler().Create(null, null, xnode));
                foreach (string str in dict.Keys)
                {
                    result[str] = (string)dict[str];
                }
    
                return result;
            }
    
    
    
    
  • 原文来自 教程网 转载请注明:http://www.websmill.com/chengxu/aspnet/32318.html

  • 上一篇:Asp.Net配置文件修改(一)
  • 下一篇:ASP.NET定时任务与IIS应用程序回收