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框架。自创,希望大家喜欢。