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

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

    编辑:教程网 来源:网络 时间:2013年08月15日 17:47
  • 近期由于项目对配置文件的操作多了,原来参考网络的同僚思想写了个读和写配置的类,但都是针对appSettings 节点,对配置节没有更多的实现,但很多项目如果配置的内容多了,以配置节来分类比较清晰(有很多配置直接使用XML,但我还是偏好Frameword带schema的config文件)。现在写下自己的实现,以方便大家参考(此处的配置文件是指独立的config文件,不是App.config文件)。

    1、扩展Configuration类的功能。些功能使用Framework的扩展方法,使用起来更象是Configuration的功能一样。扩展方法不是本文件要介绍的内容。

    命名空间:namespace System.Configuration

    和Configuration的命名空间相同,虽然有时忘记引入该扩展类所在的程序集,以导致扩展方法不知道在哪里,但本人觉得使用相同的命名空间,更加似Configuration的功能。

    类名:public static class ConfigurationExtensions 扩展方法得使用静态类。

    2、实现:在网上,有位仁兄使用自定义一个Section节来实现NameValue的做法,虽然的可行,但在配置节的设置上得带有自己的程序集的限定名等,本人不喜欢,Framework都有NameValeElement 和 KeyValueElement等的定义,相似的做法,我们又何必多些一番工作!不过还多谢哪位高手的代码,做了不少参考。(本人发觉Microsoft随着新版本的更新,以前很多可以直接操作其本框架的功能都被屏蔽了,不知道是否制约做IDE工具的开源框架,以减少对VS的竞争的原因吧)。还有位高手直接通过XMLDocumet来操作,应该也不是好的解决方案。

    扩展Configuration的功能

    获取连接字符串

            ///<summary>依据连接串名字connectionName返回数据连接字符串 </summary> 
            ///<param name="connectionName">连接串的</param> 
            ///<param name="config"></param>
            ///<returns></returns> 
            public static string GetConnectionStringsConfig(this Configuration config, string connectionName)
            {
                string connectionString = config.ConnectionStrings.ConnectionStrings[connectionName].ConnectionString;
                ////Console.WriteLine(connectionString); 
                return connectionString;
            }
    
    
    

    更新连接字符串

            ///<summary> 
            ///更新连接字符串  
            ///</summary> 
            ///<param name="newName">连接字符串名称</param> 
            ///<param name="newConString">连接字符串内容</param> 
            ///<param name="newProviderName">数据提供程序名称</param> 
            ///<param name="config">Configuration实例</param>
            public static void UpdateConnectionStringsConfig(this Configuration config, string newName, string newConString, string newProviderName)
            {
                bool isModified = false;
                //记录该连接串是否已经存在      
                //如果要更改的连接串已经存在      
                if (config.ConnectionStrings.ConnectionStrings[newName] != null)
                { isModified = true; }
    
                //新建一个连接字符串实例      
                ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
    
                // 如果连接串已存在,首先删除它      
                if (isModified)
                {
                    config.ConnectionStrings.ConnectionStrings.Remove(newName);
                }
                // 将新的连接串添加到配置文件中.      
                config.ConnectionStrings.ConnectionStrings.Add(mySettings);
                // 保存对配置文件所作的更改      
                config.Save(ConfigurationSaveMode.Modified);
            }
    
    
    
    
  • 原文来自 教程网 转载请注明:http://www.websmill.com/chengxu/aspnet/32317.html

  • 上一篇:发布ASP.NET and Web Tools 2012.2
  • 下一篇:Asp.Net配置文件修改(二)