几个开源项目配置信息的存储和处理的方式

首发于几个开源项目配置信息的存储和处理的方式

最近在看duwamish7,asp.net forums, dottext几个优秀的开源(微软官方)的项目
因我目前所处的技术水平的阶段的原因,我看这些项目程序,更加关注的是具体的实现
次之才是架构

比较第一篇:几个开源项目实体层实现方式比较

这次的关注点是它们存储和处理配置信息的不同方式

一,duwamish7和asp.net forums
这两者处理方式有相同之处,都是通过实现IConfigurationSectionHandler来实现配置类
配置类的代码如下:
数据挖掘论坛

    public class DuwamishConfiguration : IConfigurationSectionHandler
    
{ 数据挖掘工具
        
private static string
 dbConnectionString  ;
        
private static bool
 enablePageCache ;

        
IConfigurationSectionHandler 成员

数据挖掘研究院
        
public static string ConnectionString
        
{

数据挖掘实验室


            
get return dbConnectionString ; }

        }


        
public static bool EnablePageCache
        
{ 数据挖掘交友
            
get return enablePageCache ; }

数据挖掘论坛


        }

    }

web.config如下:
<?xml version="1.0" encoding="utf-8" ?> 数据挖掘研究院
<configuration>
  
<configSections>
     
<section name="DuwamishConfiguration" type="Duwamish7.Common.DuwamishConfiguration, Duwamish7.Common"  />
  
</configSections>
  
<DuwamishConfiguration>
     
<add key="dbConnectionString" value="server=localhost;User ID=Duwamish7;Password=password;database=Duwamish7;Connection Reset=FALSE" />
     
<add key="enablePageCache" value="true" />
  
</DuwamishConfiguration>
  
<system.web>  数据挖掘工具
  
<compilation debug="true" />

 
</system.web>
</configuration>

然后就可以DuwamishConfiguration.ConnectionString获得数据库连接,DuwamishConfiguration.xxxx获得你定义的其他


数据了,不过这样用之前,需要先调用这个方法哦
System.Configuration.ConfigurationSettings.GetConfig("DuwamishConfiguration") ;
通常这个方法会放在Global.asa的application_start事件处理中,或者自己定义的
httpmodule的application_start类似事件中
数据挖掘研究院

关于duwamish7配置信息处理的更多信息,可以参考:
Duwamish深入剖析-配置篇
由Duwamish学习web.config的配置

二,dottext配置信息的存储和处理
dottext配置信息不是放在web.config,而是放在一个自己定义的blog.config文件中:

<?xml version="1.0" encoding="utf-8" ?> 
<BlogConfigurationSettings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
数据挖掘实验室
  
<ConnectionString>Data Source=KWK;Database=blog;UID=sa;Pwd=sa;</ConnectionString>
  
<EnablePageCache>true</EnablePageCache>
</BlogConfigurationSettings>
然后通过串行化的方式获取数据,先定义对应的类:
[Serializable]

数据挖掘工具


public class
 BlogConfigurationSettings
{ 数据挖掘实验室
   
private string
 _connectionString ;
   
public string
 ConnectionString
   
{

数据挖掘研究院


       
get return _connectionString ; }

       
set { _connectionString = value ; } 数据挖掘交友
   }

   
   
private bool _enablePageCache ;
   
public bool
 EnablePageCache
   
{

数据挖掘研究院


       
get return _enablePageCache ; }

       
set { _enablePageCache = value ; }

数据挖掘交友


   }

}


然后可以通过如下方法获得这些配置类对象:
                public static BlogConfigurationSettings Instance(HttpContext context) 数据挖掘工具
        
{
                      
//在实际的应用中,别忘了加上缓存

              string filepath = context.Server.MapPath("~/blog.config");
              settings 
= (BlogConfigurationSettings)LoadSerializedObject(typeof
(BookConfigurationSettings),filepath);
              
return
 settings;
        }

        
public static object LoadSerializedObject(Type type, string filename)
        
{
            FileStream fs 
= null
;
            
try

            
{
                
// open the stream

                fs = new FileStream(filename, FileMode.Open,FileAccess.Read);
                XmlSerializer serializer 
= new
 XmlSerializer(type); 数据挖掘实验室
                
return
 serializer.Deserialize(fs);
            }

            
catch(Exception e)
            
{ 数据挖掘交友
                
throw
 e;
            }

            
finally
            
{

数据挖掘交友


                
if(fs != null
)
                    fs.Close();
            }

        }

至于孰优孰劣,那就看具体的应用了,这个是见人见智的问题了
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:[转]配置Oracle,使它支持MTS下分布事务
下一篇:如何使用ASP实现网站的“目录树”管理
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • MDAC2.8下载!
  • 软件架构的十大错误
  • 没啥好东西了,贴一段我现在在用的产生随机
  • ASP+JS处理复杂表单的生成与验证
  • 无法加载DLL(OCI.DLL),如何解决?
  • 学习ASP有用的代码(很有用哦!)
  • 动态web开发语言项目 驳“ASP低能论”
  • 郁闷的System.Web.Mail
  • 利用ASP远程注册DLL的方法
  • 改进的ASP备份SQLServer数据库
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 软件架构的十大错误
  • JavaScript基础教程第四课
  • 改进的ASP备份SQLServer数据库
  • MVC构架实现之ASP
  • .net入门一些常见的东西
  • VisualStudio.NET2003不能调试ASP.Net程序
  • X.U.S.T原创:自己搭建IIS找ASP程序漏洞
  • 郁闷的System.Web.Mail
  • ASP错误代码总结
  • 从XML中读取数据!(Asp.net学习一)
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静