1:AppConfig类的介绍:(以下更新于2020-12-07)
Public Static (Shared) Properties
![]() IsEnumToInt |
是否使用表字段枚举转Int方式(默认为false)。 设置为true时,可以加快一点性能,但生成的表字段枚举必须和数据库一致。 |
JsonEscape |
是否ToJson输出时自动转义特殊符号("\ \r \t等),可配置项为(Default、Yes、No) |
![]() Aop |
Aop 插件配置项 示例配置:[ 完整类名,程序集(dll)名称]<add key="Aop" value="Web.Aop.AopAction,Aop"/> |
![]() ThreadBreakPath |
Tool.ThreadBreak 使用时,外置的文件配置相对路径(默认在环境变量Temp对应文件中) |
![]() EntitySuffix |
生成的实体类的后缀。 |
![]() Version |
获取当前Dll的版本号 |
![]() RunPath |
框架的运行路径(Bin目录),Asp.net core 项目:是指运行的路径(dll所在的路径,同Win项目)。 |
AssemblyPath |
框架的程序集所在的运行路径 |
EncryptKey |
EncryptHelper加密的Key。 |
Public Static (Shared) Methods
![]() GetApp |
Overloaded. 获取Web.config或App.config的值。 |
![]() GetAppInt |
获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。 |
![]() GetConn |
Overloaded. 获取Web.config或App.config的connectionStrings节点的值。 |
![]() SetApp |
设置Web.config或App.config的值。 |
说明:
1:AppConfig类的属性名和Web.config/App.config的AppSetting节点的Key同名。
2:除了基本的属性和方法,还包括以下的五大类配置。
AppConfig.Cache
Public Static (Shared) Properties
![]() IsAutoCache |
是否智能缓存数据(默认开启) |
![]() DefaultCacheTime |
Cache.CacheManage 默认缓存项的时间[分钟(默认60)] |
![]() MemCacheServers |
分布式缓存的服务器配置,多个用逗号(,)分隔 |
MemCacheServersBak |
MemCache 备份服务器(当主服务器挂了后,请求会转向备用机) |
RedisServers |
Redis分布式缓存的服务器配置,多个用逗号(,)分隔。格式:ip:port - password |
RedisUseDBCount |
Redis 使用的DB 索引(默认0,若配置,则会忽略RedisUseDBCount) |
RedisUseDBIndex |
Redis 使用的DB 索引(默认0,若配置,则会忽略RedisUseDBCount) |
RedisServersBak |
Redis 备份服务器(当主服务器挂了后,请求会转向备用机),多个用逗号(,)分隔。格式:ip:port - password |
CacheTables |
AutoCache开启时,可以设置仅需要缓存的Table,多个用逗号分隔(此项配置时,NoCacheTables配置则被无忽略) |
![]() NoCacheTables |
AutoCache开启时,可以设置不缓存的Table,多个用逗号分隔 |
![]() IngoreCacheColumns |
AutoCache开启时,可以设置不受更新影响的列名,用Json格式。 {talbeName1:'column1,column2',talbeName2:'column1,column2'} |
AutoCacheConn |
自动缓存 - 数据库链接配置【在多个不同的应用项目里操作同一个数据库时(又不想使用分布式缓存MemCache或Redis),可以开启此项,达到缓存智能清除的效果。】 |
AutoCacheTaskTime |
当AutoCacheConn开启后,定时扫描数据库的任务时间(毫秒),默认1000 |
AppConfig.DB
Public Static (Shared) Properties
IsTxtReadOnly |
文本数据库是否只读(用于Demo演示,避免演示账号或数据被删除) |
IsPostgreLower |
Postgre 是否小写模式(默认false)。 |
![]() DefaultDataBaseType |
默认数据库类型(只读) |
DefaultDataBaseName |
默认数据库名称(只读) |
![]() CommandTimeout |
全局的数据库命令默认超时设置,默认值120秒(单位:秒) |
![]() MasterSlaveTime |
读写分离时用户对主数据库操作持续时间,默认值10秒(单位:秒) |
![]() DefaultConn |
默认数据库链接(可赋完整链接语句或Web.config配置项名称) 如果不在配置文件(Web.Config)上配置Conn链接,可对此属性赋值进行配置。 |
![]() FilterSqlInjection |
MAction所有操作中的where条件,默认有超强的过滤单词,来过滤Sql注入关键字,如果语句包含指定的过滤词,则会返回错误信息,并记录日志。 如果需要自定义关键字,可配置此项,如:“delete;from,truncate,其它单词”,分号表词组,需要同时包含两个词; 多个过滤词组以","逗号分隔 |
![]() AutoID |
MAction 操作 Oracle 时自增加int类型ID所需要配置的序列ID,Guid为ID则不用。 如果需要为每个表都配置一个序列号,可以使用:SEQ_{0} 其中{0}会自动配对成表名,如果没有{0},则为整个数据库共用一个序列。 默认参数值:SEQ_{0} |
![]() SchemaMapPath |
MAction 可将表架构映射到外部指定相对路径[外部存储,可避开数据库读取] |
![]() DeleteField |
删除字段名称(若表存在此设置的字段名称时,MActon的删除操作将变更变为更新操作) 默认:IsDeleted |
![]() EditTimeFields |
更新时间字段名称(若表存在指定字段名称时,自动更新时间,多个用逗号分隔) |
![]() HiddenFields |
系统全局要隐藏的字段名称(默认值为:"cyqrownum,rowguid,deletefield") |
AppConfig.Debug
Public Static (Shared) Properties
![]() OpenDebugInfo |
开启信息调试记录:开启后MAction.DebugInfo可输出执行日志。 同时AppDebug若要使用,也需要开启此项。 |
![]() SqlFilter |
毫秒数(这个是在对所有SQL语句的:将所有长时间(ms)的SQL语句写入日志,对应配置项LogPath的路径) |
![]() InfoFilter |
毫秒数(这个是在AppDebug开启后的:可通过此项设置条件过滤出时间(ms)较长的SQL语句) |
AppConfig.Log
Public Static (Shared) Properties
AppConfig.XHtml
Public Static (Shared) Properties
![]() CDataLeft |
Xml.XHtmlHelper 中使用的 "<![CDATA[" 项 |
![]() CDataRight |
Xml.XHtmlHelper 中使用的 "]]>" 项 |
![]() DtdUri |
Xml.XHtmlHelper 中操作Html需要配置的DTD解析文档相对路径 |
![]() Domain |
Xml.MutilLanguage 语言切换设置时Cookie所需要的网站主域名[不带www] |
![]() SysLangKey |
Xml.MutilLanguage 类的默认语言Key,默认值:Chinese |
2:AppDebug
Public Static (Shared) Properties
Public Static (Shared) Methods
示例代码:
class Program
{
static void Main(string[] args)
{
AppConfig.Debug.OpenDebugInfo = true;//首先要打开这个
AppConfig.Debug.InfoFilter = 20;//记录SQL语句执行时间>1毫秒的(这个是在AppDebug开启后的:)
AppConfig.Debug.SqlFilter = 2;//记录SQL执行语句时间>2毫秒的(这个是所有的SQL语句)
//注意打开软件文件,执行时间大于2毫秒的将记录在在 SqlFilter_时间.txt
AppDebug.Start();//开始记录
Exe1();
Exe2();
Exe3();
Console.WriteLine(AppDebug.Info);//拿到调试信息
AppDebug.Stop();//关闭记录
Console.Read();
}
static void Exe1()
{
string sql = "select count(*) from users";
using (MProc proc = new MProc(sql))
{
proc.ExeScalar<string>();
}
}
static void Exe2()
{
using (MAction action = new MAction("V_Article"))
{
action.Select();
}
}
static void Exe3()
{
using (MAction action = new MAction("Users"))
{
action.Fill(1);
}
}
}
运行结果:

总结:
1:AppConfig是比较常用(通常不是直接操作这个类,而是指配置Web.config)
2:AppDebug:只有在sql语句性能需要监控或优化的时候,才会使用。
CYQ.Data:GitHub源码:https://github.com/cyq1162/cyqdata
CYQ.Data:Demo 源码:https://github.com/cyq1162/CYQ.Data.Demo
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)