欢迎加入讨论群:241532755 一花一世界,一叶一菩提。码农日志开始记载键盘上的舞蹈。

Net开源HelloData之:系统配置

HelloData的系统配置尽量的简洁明了,也让操作更加快捷。

1、

首先配置日志模块:

            Logger.Current.SetLogger = new ConsoleLog();
            Logger.Current.IsOpenLog = true;
            Logger.CurrentLog.Info("INSTALLING");

日志里面包含了常见的Debug,Error,Info等,调用方式就Logger.CurrentLog.Info("INSTALLING");或者Logger.CurrentLog.Error("INSTALLING");现已经加入了log4net,nlog的匹配,调用直接new LogNet();如果有其他的日志系统,也可以继承ILog,然后setLogger中实例化即可全局使用当前配置的日志。当然记得一定要OpenLog才行。以下是内置的consoleLog的效果

 2、

            //设置数据库连接执行状况
            AppCons.LogSqlExcu = true;

AppCons.LogSqlExcu当这个配置开启后,会记录下操作内部执行的每一条sql语句,方便调试,如果是参数化的操作,同时会记录下每一个参数名跟参数值。

3、

           //设置第一个数据库
            AppCons.SetDefaultConnect(new SQLliteHelper(), ConfigurationManager.AppSettings["ConnectionString1"]);
          

此操作为设置当前数据库操作的第一个链接,因为HelloData支持多个数据库同时操作,所以就有了设置多个数据库的操作;

               //设置第二个数据库
            AppCons.SetSecondConnect(new MySqlHelper(), ConfigurationManager.AppSettings["ConnectionString1"]);
            //设置更多个数据库
            AppCons.SetMoreConnect(new SQLliteHelper(), ConfigurationManager.AppSettings["ConnectionString2"]);
           

 逻辑层使用数据库切换的时候int index默认为0,表示操作第一个及设置的默认数据库,如果设置为1的话就表示执行的是第二个数据库的操作,以此类推,从而达到了多个数据库直接操作。

 4、

                //是否需要数据库全局参数化
            AppCons.IsParmes = false;

此设置为内部的orm拼接的sql是以何种方式拼接,如果是true的话,会加传值方式为参数化传值,如果是false的话就是普通的sql语句,参数化的好处就是防止了sql攻击。

5、

            //是否数据库操作的缓存
            AppCons.IsOpenCache = false;
            //使用第三方的分布式缓存
            //AppCons.CurrentCache =new  RedisCache();
            //使用内置的webcache缓存
            AppCons.CurrentCache = new WebCache();

缓存的设置,当开启缓存后,操作数据库的链接就会大大的减少,缓存的key是以当前操作的对象跟操作条件为基准的。缓存支持rediscache,webcache等,如需扩展可以继承ICache

 /// <summary>
        /// 插入缓存,使用相对过期时间
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        void Insert(string key, object value);
        /// <summary>
        /// 设置key的缓存
        /// </summary>
        /// <param name="key"></param>
        /// <param name="entry"></param>
        void Set(string key, object entry);
        /// <summary>
        /// 获取key缓存
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <returns></returns>
        T Get<T>(string key);
        /// <summary>
        /// 获取所有缓存
        /// </summary>
        List<string> GetKeys();

        /// <summary>
        /// 清除所有缓存
        /// </summary>
        void RemoveAll();
        /// <summary>
        /// 移除缓存
        /// </summary>
        /// <param name="key"></param>
        void Remove(string key);
        /// <summary>
        /// 根据Key的前缀删除缓存
        /// </summary>
        void RemoveByPreFix(string prefix);

以上为基本的设置,其余的设置都是基于各个操作对象。

未完待续。。。。。

1、写在新工作之前的一个下雨天。HelloData  开源net Orm框架。自创,希望大家喜欢。

2、HelloData之:数据库model的生成。

 

下载地址:https://github.com/xiaose1205/HelloData

posted @ 2013-04-06 01:16  码农日志  阅读(1347)  评论(2编辑  收藏  举报