CYQ.Data 常用配置文件项[Web(App).Config]的[appSettings|connectionStrings]项和属性名一致。 除了可以从配置文件配置,也可以直接赋值。 只读属性 设置Web.config或App.config的值 value为null时移除缓存。 获取Web.config或App.config的值。 获取Web.config或App.config的值(允许值不存在或为空时输出默认值)。 获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。 获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。 获取Web.config或App.config的数字值(允许值不存在或为空时输出默认值)。 获取Web.config或App.config的connectionStrings节点的值。 添加自定义链接(内存有效,并未写入config文件) value为null时移除缓存 名称 链接字符串 Aop 插件配置项 示例配置:[ 完整类名,程序集(dll)名称]<add key="Aop" value="Web.Aop.AopAction,Aop"/> 工具类相关配置 EncryptHelper加密的Key。 Tool.ThreadBreak 使用时,外置的文件配置相对路径(默认在环境变量Temp对应文件中) 通用缓存配置 默认缓存的时间[分钟(默认60)] 配置:Cache.DefaultMinutes = 60 XHtml 相关的配置 Xml.XHtmlHelper 中使用的 "<![CDATA[" 项 Xml.XHtmlHelper 中使用的 "]]>" 项 Xml.XHtmlHelper 中操作Html需要配置的DTD解析文档相对路径 Xml.MutilLanguage 语言切换设置时Cookie所需要的网站主域名[不带www] Xml.MutilLanguage 类的默认语言Key,默认值:Chinese DataBase 相关的配置 默认数据库链接(可赋完整链接语句或Web.config配置项名称) 如果不在配置文件(Web.Config)上配置Conn链接,可对此属性赋值进行配置。 默认数据库名称(只读) 默认数据库类型(只读) 文本数据库是否只读(用于Demo演示,避免演示账号或数据被删除) 配置项:DB.IsTxtReadOnly :false Postgre 是否小写模式(默认true)。 配置项:DB.IsPostgreLower :true KingBaseES 是否小写模式(默认true)。 配置项:DB.IsKingBaseESLower :true Oracle 是否大写模式(默认true)。 配置项:DB.IsOracleUpper :true DB2 是否大写模式(默认true)。 配置项:DB.IsDB2Upper :true Firebird 是否大写模式(默认true)。 配置项:DB.IsFireBirdUpper :true DaMeng 是否大写模式(默认true)。 配置项:DB.IsDaMengUpper :true MAction所有操作中的where条件,默认有超强的过滤单词,来过滤Sql注入关键字,如果语句包含指定的过滤词,则会返回错误信息,并记录日志。 如果需要自定义关键字,可配置此项,如:“delete;from,truncate,其它单词”,分号表词组,需要同时包含两个词; 多个过滤词组以","逗号分隔 配置项:DB.FilterSqlInjection : MAction 操作 Oracle 时自增加int类型id所需要配置的序列id,Guid为id则不用。 如果需要为每个表都配置一个序列号,可以使用:SEQ_{0} 其中{0}会自动配对成表名,如果没有{0},则为整个数据库共用一个序列。 配置项:DB.AutoID :SEQ_{0} MAction 可将表架构映射到外部指定相对路径[外部存储,可避开数据库读取] 配置项:DB.SchemaMapPath : /App_Data/schema 软删除字段名称(若表存在此设置的字段名称时,MActon的删除操作将变更变为更新操作) 配置项:DB.DeleteField : IsDeleted 更新时间字段名称(若表存在指定字段名称时,自动更新时间,多个用逗号分隔) 配置项:DB.EditTimeFields : 系统全局要隐藏的字段名称(默认值为:"cyqrownum,rowguid,deletefield") 配置项:DB.HiddenFields : cyqrownum,rowguid 全局的数据库命令默认超时设置,默认值120秒(单位:秒) 配置项:DB.CommandTimeout : 120 读写分离时用户对主数据库操作持续时间,默认值10秒s(单位:秒s) 配置项:DB.MasterSlaveTime : 10 毫秒数(记录数据库执行时时长(ms)的SQL语句写入日志,对应配置项Log.Path的配置路径) 配置项:DB.PrintSql : -1 生成的实体类的后缀。 配置项:DB.EntitySuffix :Bean 是否使用表字段枚举转Int方式(默认为false)。 设置为true时,可以加快一点性能,但生成的表字段枚举必须和数据库一致。 配置项:DB.IsEnumToInt :false Redis 配置 Redis分布式缓存的服务器配置,多个用逗号(,)分隔 格式:ip:port - password 配置项:Redis.Servers :192.168.1.9:6379 - 888888 Redis 使用的DB数(默认1,使用db0) 配置项:Redis.UseDBCount :1 Redis 使用的DB 索引(默认0,若配置,则会忽略RedisUseDBCount) 配置项:Redis.UseDBIndex :0 Redis Socket 链接建立超时时间(毫秒ms) 配置项:Redis.Timeout :1000 Redis 单个主机节点最大的链接数 配置项:Redis.MaxSocket :32 Redis 超出最大链接数后等等时间(ms毫秒) 配置项:Redis.MaxWait :1000 MemCache 配置 MemCache分布式缓存的服务器配置,多个用逗号(,)分隔 格式:ip:port 配置项:MemCache.Servers :192.168.1.9:12121 MemCache Socket 链接建立超时时间(毫秒ms) 配置项:MemCache.Timeout :1000 MemCache 单个主机节点最大的链接数 配置项:MemCache.MaxSocket :32 MemCache 超出最大链接数后等等时间(ms毫秒) 配置项:MemCache.MaxWait :1000 自动缓存【即:AopCache】相关的配置 是否启用智能自动缓存数据(默认开启) 配置项:AutoCache.IsEnable :true AutoCache开启时,可以设置仅需要缓存的Table,多个用逗号分隔(此项配置时,NoCacheTables配置则被无忽略) 配置项:AutoCache.Tables :users,user_vip AutoCache开启时,可以设置不缓存的Table,多个用逗号分隔 配置项:AutoCache.IngoreTables :logs,logs_temp AutoCache开启时,可以设置不受更新影响的列名,用Json格式。 配置项:AutoCache.IngoreColumns :{user:'updatetime,createtime',tb2:'col1,2'} CYQ.Data.Cache 自动缓存 - 数据库链接配置 在多个不同的应用项目里操作同一个数据库时(又不想使用分布式缓存MemCache或Redis),可以开启此项,达到缓存智能清除的效果。 配置项:AutoCacheConn:server=.;database=x;uid=s;pwd=p; 当AutoCacheConn开启后,定时扫描数据库的任务时间(毫秒),默认1000 配置项:AutoCache.TaskTime:1000 日志类Log 相关的配置 是否写数据库异常日志(默认true):开启时:有异常不抛出,转写入数据库;不开启:有异常会抛出 配置项:Log.IsEnable :true CYQ.Data.Log 类记录数据库异常日志 - 数据库链接配置 配置项:LogConn:server=.;database=x;uid=s;pwd=p; 文本日志的配置相对路径(Web 默认为:/App_Data/log") 配置项:Log.Path :/App_Data/log 异常日志表名(默认为SysLogs,可配置) 配置项:Log.TableName :SysLogs 调试类AppDebug 相关的配置 开启信息调试记录:开启后MAction.DebugInfo可输出执行日志。 同时AppDebug若要使用,也需要开启此项。 配置项:Debug.IsEnable :false 有UI界面的Web、Winform、WPF。 UI取值的默认前缀(ddl,chb,txt),多个用逗号(,)分隔 配置项:UI.AutoPrefixs :txt,chb,ddl JsonHelper 相关配置 ToJson 输出时是否自动转义特殊符号("\ \r \t等) 配置:Json.Escape = Default (可选:Default、Yes、No) Get 是否在 Debug 模式下运行。 Get 运行根目录,以"/"或"\"结尾。 Get 当前运行环境是否 Web 应用。 获取 CYQ.Data.dll 的版本号 Get 框架的运行路径(最外层的目录),以"\\" 或"/"结尾 Win、 .NetCore 项目:是dll和exe所在的目录; ASPNET 项目:是指根目录; Get 程序集(dll) 所在的运行路径,以"\\" 或"/"结尾 当前是否.NET Core环境。 内部常量类 无效的文件路径字符 框架程序集名称 框架的程序集所在的运行路径 this class can intercept sql 应用程序调试类,能截到应用程序执行的SQL is recoreding sql ? 正在记录中 输出信息时是否包含框架内部Sql(默认否,屏蔽框架内部产生的Sql)。 get sql detail info 获取调试信息 设置Info信息进行过滤(毫秒ms)SQL语句。 start to record sql 开始记录调试信息 是否包含框架内部Sql(默认否) start to record sql 开始记录调试信息 stop to record sql 停止并清除记录的调试信息 Manipulate:table / view / custom statement 操作:表/视图/自定义语句 Archive the rows of the data structure 存档数据结构的行 原始传进来的表名/视图名,未经过[多数据库转换处理]格式化。 Table name (if the view statement is the operation, the final view of the name) 当前操作的表名(若操作的是视图语句,则为最后的视图名字 The database connection string 数据库链接字符串 The database connection name 数据库链接配置名称 Get or set debugging information [need to set App Config.Debug.Open DebugInfo to ture] 获取或设置调试信息[需要设置AppConfig.Debug.OpenDebugInfo为ture] The database type 数据库类型 The database name 数据库名称 The database version 数据库的版本号 The number of rows affected when executing a SQL command (-2 is an exception) 执行SQL命令时受影响的行数(-2则为异常)。 是否事务进行中 Command Timeout[seconds] 命令超时设置[单位秒] Whether to allow manual insertion of ids for self-incrementing primary key identification 自增主键标识的,是否允许手动插入id MSSQL插入标识id时开启此选项[事务开启时有效] MSSQL插入标识id后关闭此选项[事务开启时有效] ; Instantiation 实例化 Parameters: table name, view, custom statement, DataRow 参数:表名、视图、自定义语句、MDataRow Database connection statement or configuration key 数据库链接语句或配置Key Toggle Table Action: To switch between other tables, use this method 切换表操作:如需操作其它表,通过此方法切换 Parameters: table name, view, custom statement, DataRow 参数:表名、视图、自定义语句、MDataRow Reset Row State (defaultValue:true) 是否重置原有的数据状态(默认true) Other DataBaseName 其它数据库名称 Insert To DataBase 插入数据 InsertOp 插入选项 Automatic get values from context 自动取值(从上下文环境中) InsertOp 插入选项 Update to database [Will automatically try to fetch from the UI when conditions are not passed] 更新数据[不传where条件时将自动尝试从UI获取] Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" Automatic get values from context 自动取值(从上下文环境中) Automatic get values from context 自动取值(从上下文环境中) Delete from database [Will automatically try to fetch from the UI when conditions are not passed] 删除数据[不传where条件时将自动尝试从UI获取] Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" 当DeleteField被设置后(删除转更新操作),如果仍想删除操作(可将此属性置为true) select all data 选择所有数据 Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" pageIndex第几页 pageSize每页数量[为0时默认选择所有] The total number of records returned 返回的记录总数 select all data 选择所有数据 Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" pageIndex第几页 pageSize每页数量[为0时默认选择所有] 查询后直接返回泛型列表(节省一次转换时间)。 select all data 选择所有数据 Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" pageIndex第几页 pageSize每页数量[为0时默认选择所有] 查询后直接返回Json字符串(节省一次转换时间)。 Select top one row to fill this.Data 选择一行数据,并填充到Data属性[不传where条件时将自动尝试从UI获取] Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" Returns the number of records 返回记录数 Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" Whether or not the specified condition exists 是否存在指定条件的数据 Sql statement where the conditions: 88, "id = 88" sql语句的where条件:88、"id=88" Get value from this.Data 从Data属性里取值 defaultValue值为Null时的默认替换值 Set value to this.Data 为Data属性设置值 columnName列名 value set value state (0: unchanged; 1: assigned, the same value [insertable]; 2: assigned, different values [updateable]) 设置值状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 为行连续设置值多个值 起始行索引||起始列名 多个值 Sets a custom expression for the Update operation. 为Update操作设置自定义表达式。 as:"a=a+1"如:"a=a+1" Parameterized pass [used when the Where condition is a parameterized (such as: name = @ name) statement] 参数化传参[当Where条件为参数化(如:name=@name)语句时使用] paraName参数名称 value参数值 dbType参数类型 Aop scenes can only be used by the parameterization of the Senate Aop场景才可能使用的参数化传参 Paras参数列表 Clears paras (from SetPara method) 清除(SetPara设置的)自定义参数 清除系统参数[保留自定义参数] Specifies the column to read 指定读取的列 as:"columnA","columnB as B" Get where statement 根据元数据列组合where条件。 connect by and/ortrue为and连接,反之为or链接 MDataCell单元格 Set the transaction level 设置事务级别 IsolationLevel Begin Transation 开始事务 Commit Transation 提交事务 RollBack Transation 事务回滚 Dispose 释放资源 获取或设置当前操作是否使用自动缓存 Set Aop State 设置Aop状态 Pass additional parameters for Aop use 传递额外的参数供Aop使用 Manipulate UI UI操作 for build where sql easyer UI操作 Manipulate:sql / procedure 操作:SQL或存储过程 Change MAction to MProc 将一个MAction 转换成一个MProc。 Get or set debugging information [need to set App Config.Debug.Open DebugInfo to ture] 获取或设置调试信息[需要设置AppConfig.Debug.OpenDebugInfo为ture] The database type 数据库类型 The database name 数据库名称 The database version 数据库的版本号 The number of rows affected when executing a SQL command (-2 is an exception) 执行SQL命令时受影响的行数(-2则为异常)。 是否事务进行中 The database connection string 数据库链接字符串 The database connection name 数据库链接配置名称 Command Timeout[seconds] 命令超时设置[单位秒] Instantiation 实例化 Parameters: sql or procedure 参数:SQL语句或存储过程名称 IsClearParameters 是否清除参数 Toggle tProc Action: To switch between other sql/procedure, use this method 切换操作:如需操作其它语句或存储过程,通过此方法切换 Parameters: sql or procedure 参数:存储过程名或Sql语句 Get MDataTable 执行并返回泛型列表类型。 执行列表数据并返回Json格式字符串。 执行列表数据并返回Json格式字符串。 字段是否返回小写 是否需要格式化时间,默认:yyyy-MM-dd HH:mm:ss Get MDataTables Returns the number of rows affected [used to insert update or delete], and returns -2 if an exception is executed 返回受影响的行数[用于更新或删除],执行异常时返回-2 Returns the value of the first column of the first row 返回首行首列的值 Set Input Para 设置存储过程Input参数 设置特殊自定义参数 Set the stored procedure OutPut, the return value and other special types of parameters 设置存储过程OutPut、返回值等特殊类型参数 MSSQL The name of the user-defined table typeMSSQL的用户定义表类型的名称 Clear Parameters 清除存储过程参数 Get Procedure Return Value 存储过程的返回值 The OutPut value for the stored procedure: Dictionary for multiple values 存储过程的OutPut值:多个值时为Dictionary 获取或设置当前操作是否使用自动缓存 Set Aop State 设置Aop状态 Pass additional parameters for Aop use 传递额外的参数供Aop使用 Set the transaction level 设置事务级别 IsolationLevel Begin Transation 开始事务 Commit Transation 提交事务 RollBack Transation 事务回滚 Dispose 释放资源 内部智能缓存:AutoCache 线程任务 单机存档: 表的baseKey:key1,key2,key3... 使用同一个链接,并且不关闭。 Aop参数信息 表名 数据类型(只读) 数据库名称(只读) 数据库链接(只读) AOP的自定义参数 是否事务中 当前上下文的处理程序。 数据列表 数据表 数据行 查询条件 自动从Form表单提取值[插入或更新时使用] 数据插入选项 分页起始页 分页每页条数 更新操作的附加表达式。 指定的查询列 Begin方法是否调用成功[在End中使用] 查询时返回的记录总数(分页总数) 查询时返回的显示数量 用户调用SetPara新增加的自定义参数 当前上下文的处理程序。 存储过程名或SQL语句 是否存储过程 命令参数 执行后返回的结果 设置自定义参数[使用MAction时,对Where条件进行的参数化传参使用] 参数名称 参数值 参数类型 内部预先实现CacheAop Aop参数 框架内部数据库操作方法枚举 Orm (DBFast、SimpleOrmBase等查询返回实体列表) Aop函数的处理结果 本结果将执行原有事件,但跳过Aop.End事件 本结果将继续执行原有事件和Aop.End事件 本结果将跳过原有事件,但会执行Aop End事件 本结果将直接跳出原有函数的执行 Aop开关选项 正常打开 仅打开内部Aop(即自动缓存,关闭外部Aop) 仅打开外部Aop(关闭自动缓存) 内外都关(自动缓存和外部Aop) Aop接口,需要实现时继承 方法调用之前被调用 方法名称 附带分支参数 方法调用之后被调用 方法名称 附带分支参数 数据库操作产生异常时,引发此方法 克隆返回一个新的对象 Aop 首次加载时被触发的事件 单数据库 =》 多模式 select * from v$database 达梦以(端口号对应服务)一个服务对应一个数据库名称,因此数据库名称可以忽略。 模式 此数据库中提供约为 数据库名称等同 清除缓存数据 重置静态变量(方便回收内存,避免大量导数据后内存不回收) 是否需要更新:0未更新;1仅插入[往后面插数据];2更新删除或插入[重新保存],//需要更新[全局的可以有效处理并发] 最后的写入时间 下一个自增加id 包含路径的完整文件名称 (文件名):不包含路径的文件名称(带扩展名) 表名 切换表 数据行结构 文件名称 文件路径 数据类型 检测文件是否已被修改过 数据库对象基础实例 对应的ConnectionString的Name 或者最原始传进来的链接 链接的状态是否正常。 是否从库 是否备用库 链接错误时的异常消息。 经过格式化后的数据库链接字符串 原始的数据库链接字符串 数据库类型 数据库版本信息 所有链接的对象集合 创建一个实例。 去掉 链接中的 provider=xxxx; 链接配置管理 监控列表。 开启加载一个配置。 Conn的名称 Conn指向的路径 一个数据库对像实例:集合了主从备三种 线程任务 主备互换位置。 设置临时仅允许访问主库(默认10秒) 所有链接的对象集合 定时检测异常的链接是否恢复。 操作的数据库类型 MSSQL[2000/2005/2008/2012/...] PostgreSQL Txt DataBase Xml DataBase 国产达梦数据库 国产人大金仓数据库 特殊参数类型[MProc SetCustom方法所使用的参数] Oracle 游标类型 输出类型 输入输出类型 返回值类型 Oracle CLOB类型 Oracle NCLOB类型 MSSQL 用户定义表类型 数据类型分组 字母型返回0;数字型返回1;日期型返回2;bool返回3;guid返回4;其它返回999 未定义 文本类型0 数字型返回1 日期型返回2 bool返回3 guid返回4 其它返回999 重置数据库的结果 成功切换 数据库链接 未切换 - 相同数据库名。 未切换 - 事务中。 未切换 - 新数据库名不存在。 测试链接的级别 返回文件夹所在的目录 返回 目录名 即数据库名 处理参数化替换 MAction Insert Options MAction的Insert方法的返回值选项 only insert,no return autoIncrement id 使用此项:插入数据后[MSSQL会返回id,其它数据库则不会返回id] insert and return autoincrement id (default option) 使用此项:插入数据后会返回id[默认选项]。 insert and select top 1 data to fill row 使用此项:插入数据后,会根据返回id进行查询后填充数据行。 多数据库 =》 多模式 模式名称 (非等同数据库名称) 单机缓存类 为兼容.NET Core 去掉Web.Caching,重写 保存 key=》缓存对象 保存 key=> 超时时间 保存 key=> 文件依赖【路径】 保存 时间点 => keys , 将任务过期时间分布%任务间隔 保存 folderPath =》文件夹监控 保存 folderPath =》 keys 获取缓存信息对象列表 单例,可以构造函数里使用。 内存工作信息 获和缓存总数 获得一个Cache对象 标识 是否存在缓存 标识 添加一个Cache对象 标识 对象值 缓存时间(单位分钟) 文件依赖路径 删除一个Cache对象 标识 移除Key和Value 清除所有缓存 清空外部缓存数据 MemCache分布式缓存类 分布式锁 返回客户端 Memcached client main class. Use the static methods Setup and GetInstance to setup and get an instance of the client for use. This method corresponds to the "set" command in the memcached protocol. It will unconditionally set the given key to the given value. Using the overloads it is possible to specify an expiry time, either relative as a TimeSpan or absolute as a DateTime. It is also possible to specify a custom hash to override server selection. This method returns true if the value was successfully set. This method corresponds to the "add" command in the memcached protocol. It will set the given key to the given value only if the key does not already exist. Using the overloads it is possible to specify an expiry time, either relative as a TimeSpan or absolute as a DateTime. It is also possible to specify a custom hash to override server selection. This method returns true if the value was successfully added. This method corresponds to the "replace" command in the memcached protocol. It will set the given key to the given value only if the key already exists. Using the overloads it is possible to specify an expiry time, either relative as a TimeSpan or absolute as a DateTime. It is also possible to specify a custom hash to override server selection. This method returns true if the value was successfully replaced. This method corresponds to the "get" command in the memcached protocol. It will return the value for the given key. It will return null if the key did not exist, or if it was unable to retrieve the value. If given an array of keys, it will return a same-sized array of objects with the corresponding values. Use the overload to specify a custom hash to override server selection. This method corresponds to the "delete" command in the memcache protocol. It will immediately delete the given key and corresponding value. Use the overloads to specify an amount of time the item should be in the delete queue on the server, or to specify a custom hash to override server selection. This method corresponds to the "flush_all" command in the memcached protocol. When this method is called, it will send the flush command to all servers, thereby deleting all items on all servers. Use the overloads to set a delay for the flushing. If the parameter staggered is set to true, the client will increase the delay for each server, i.e. the first will flush after delay*0, the second after delay*1, the third after delay*2, etc. If set to false, all servers will flush after the same delay. It returns true if the command was successful on all servers. This method corresponds to the "stats" command in the memcached protocol. It will send the stats command to all servers, and it will return a Dictionary for each server containing the results of the command. 主机服务 指定数据长度超过值时进行压缩,默认128K Private key hashing method that uses the modified FNV hash. The key to hash. The hashed key. Private key-checking method. Throws an exception if the key does not conform to memcached protocol requirements: It may not contain whitespace, it may not be null or empty, and it may not be longer than 250 characters. The key to check. 获取主机节点的基础信息 用于监控分布式缓存的配置列表,实际高可用,动态加载,而不需要关停运行的服务。 存档配置文件对应的原始主机列表。 变化后要追加的主机。 变化后要移除的主机。 和旧配置相比较,找出变化后的主机信息 新的配置值 The SocketPool encapsulates the list of PooledSockets against one specific host, and contains methods for acquiring or returning PooledSockets. 扩展属性:如果链接后需要验证密码(如Redis可设置密码) 最后的错误信息。 当前 Socket 池的可用数量。 主机节点是不是挂了。 Socket的挂科时间。 超出最大链接后的等待时间。 If the host stops responding, we mark it as dead for this amount of seconds, and we double this for each consecutive failed retry. If the host comes alive again, we reset this to 1 again. 主机服务。 从队列获取数据,并可能进行等待。 Gets a socket from the pool. If there are no free sockets, a new one will be created. If something goes wrong while creating the new socket, this pool's endpoint will be marked as dead and all subsequent calls to this method will return null until the retry interval has passed. 这个方法扩展(备份链接池) Returns a socket to the pool. If the socket is dead, it will be destroyed. If there are more than MaxPoolSize sockets in the pool, it will be destroyed. If there are less than MinPoolSize sockets in the pool, it will always be put back. If there are something inbetween those values, the age of the socket is checked. If it is older than the SocketRecycleAge, it is destroyed, otherwise it will be put back in the pool. 线程池里重试链接。 添加故障节点 已故障节点 线程检测已故障节点。 The ServerPool encapsulates a collection of memcached servers and the associated SocketPool objects. This class contains the server-selection logic, and contains methods for executing a block of code on a socket from the server corresponding to a given key. 管理多个主机实例的服务 处理一致性hash 缓存类型 Internal constructor. This method takes the array of hosts and sets up an internal list of socketpools. 缓存配置文件修改时 刷新主机配置 主机【仅有N个】 主机列表。 This method executes the given delegate on a socket from the server that corresponds to the given hash. If anything causes an error, the given defaultValue will be returned instead. This method takes care of disposing the socket properly once the delegate has executed. This method executes the given delegate on all servers. 一致性Hash产生的结点数,数越大,分布越平均 一致性hash的主机分布列表 创建用于查询(已排序)的hashkey。 Given an item key hash, this method returns the socketpool which is closest on the server key continuum. 获取一台用于服务的主机实例。 底层Cache Socket 挂载的Socket池。 回归 Socket池 This method closes the underlying stream and socket. 关闭Socket并释放相关资源。 Checks if the underlying socket and stream is connected and available. Writes a string to the socket encoded in UTF8 format. Writes an array of bytes to the socket and flushes the stream. Reads from the socket until the sequence '\r\n' is encountered, and returns everything up to but not including that sequence as a UTF8-encoded string 返回Null即没有数据了! 读一行的数据 读一行的数据 Reads a response line from the socket, checks for general memcached errors, and returns the line. If an error is encountered, this method will throw an exception. Fills the given byte array with data from the socket. Reads from the socket until the sequence '\r\n' is encountered. //跳过N个命令的结果 Resets this PooledSocket by making sure the incoming buffer of the socket is empty. If there was any leftover data, this method return true. 序列化 返回序列化类型 指定超过长度时启用压缩功能 Redis分布式缓存类 分布式锁 读取客户端 Redis client main class. Use the static methods Setup and GetInstance to setup and get an instance of the client for use. This method corresponds to the "stats" command in the memcached protocol. It will send the stats command to all servers, and it will return a Dictionary for each server containing the results of the command. RedisCommand 支持的Cache类型 本地缓存 MemCached分布式缓存 Redis分布式缓存 全局缓存类 使用示例: 实例化: CacheManage cache=CacheManage.Instance; 添加: Cache.Set("路过秋天",new MDataTable); 判断: if(cache.Contains("路过秋天")) { 获取: MDataTable table=cache.Get("路过秋天") as MDataTable; } 返回唯一实例(根据配置(Redis、MemCache是否配置启用)决定启用顺序:Redis、MemCache、本地缓存) 单机本地缓存 MemCache缓存(需要配置AppConfig.MemCache.Servers) Redis缓存(需要配置AppConfig.Redis.Servers) 兼容NetCore下迷一般的Bug的写法。 Redis、MemCache 需要手工刷新配置值时使用。 新的配置值 缓存的实例类型 缓存的信息 添一个Cache对象(不存在则添加,存在则返回false) 设置一个Cache对象(存在则更新,不存在则添加) 清除所有缓存 是否存在缓存 获和缓存总数 获得一个Cache对象 获得一个Cache对象 删除一个Cache对象 缓存的工作信息 服务器数量 往所有节点写入数据【用于分布式锁的超时机制】 往所有节点都发起移除数据。 往所有节点添加数据,不存在则添加成功,存在则添加失败。 分布式锁专用,往节点写入数据,超过一半成功,则返回true,否则移除已插入数据。 获取系统内部缓存Key 获取系统内部缓存Key Cache的Key类型 表架构的Key 智能缓存Key 字符状态 是否格式格式【true属性必须双引号,false属性可以单引号和无引号。】 数组开始【仅第一开头才算】,值嵌套的以【childrenStart】来标识。 【-1 未初始化】【0取名阶段】【1 取值阶段】 【-2 已结束】【-1 未初始化】【0 未开始】【1 无引号开始】【2 单引号开始】【3 双引号开始】 【-2 已结束】【-1 未初始化】【0 未开始】【1 无引号开始】【2 单引号开始】【3 双引号开始】 设置字符状态(返回true则为关键词,返回false则当为普通字符处理) Escape json char options JsonHelper 的符号转义选项 过滤ascii小于32的特殊值、并对\n "(双引号)进行转义,对\转义符 (仅\\"或\\n时不转义,其它情况转义) 不进行任何转义,只用于保留原如数据(注意:存在双引号时,[或ascii小于32的值都会破坏json格式],从而json数据无法被解析) 过滤ascii小于32的特殊值、并对 :\r \n \t "(双引号) \(转义符号) 直接进行转义 系统内部使用: ascii小于32(包括\n \t \r)、"(双引号),\(转义符号) 进行编码(规则为:@#{0}#@ {0}为asciii值,系统转的时候会自动解码) Json 转换忽略的字段 Json 格式化【时间】 Json 枚举字段转字符串 Json 枚举字段转属性描述 Json class for you easy to operate json 功能全面的json帮助类 with easyui header ?是否带输出头 first row with table schema ? 是否首行带表结构[MDataTable.LoadFromJson可以还原表的数据类型] Escape options 转义符号 convert filed to lower 是否将名称转为小写 convert enum to string 是否将枚举转字符串 convert enum to DescriptionAttribute 是否将枚举转属性描述 formate datetime 日期的格式化(默认:yyyy-MM-dd HH:mm:ss) filter json data Json输出行数据的过滤选项 is success 是否成功 Error message 错误提示信息 data rows count 当前返回的行数 totla count 所有记录的总数(多数用于分页的记录总数)。 flag a json is end and start a new json 添加完一个Json数据后调用此方法换行 attach json data (AddHead must be true) 添加底部数据(只有AddHead为true情况才能添加数据) add json key value 添加一个字段的值 value is no quotes 值不带引号 out json result 输出Json字符串 end with [] ? check string is json 检测是否Json格式的字符串 the index of the error char 错误的字符索引 Get json value 获取Json字符串的值 the name or key of json 键值(有层级时用:XXX.YYY.ZZZ) Json 返回值是否为true(包含"success":true) a easy method for you to return a json 返回Json格式的结果信息 no "" split json to dicationary 将Json分隔成键值对。 split json to dicationary array 将Json 数组分隔成多个键值对。 解码替换数据转义符 用于控制自循环的层级判断。 用于自循环检测列表。 Fill obj and get json from ToString() method 从数据表中取数据填充,最终可输出json字符串 Fill obj and get json from ToString() method 从数据行中取数据填充,最终可输出json字符串 从数据结构填充,最终可输出json字符串。 数据结构 false:输出单行的[列名:数据类型];true:输出多行的完整的数据结构 Fill obj and get json from ToString() method 可从类(对象,泛型List、泛型Dictionary)中填充,最终可输出json字符串。 实体类对象 加载实体 从Json字符串中反加载成数据表 将Json转换成集合 集合类型 json数据 Convert json to Entity 将Json转换为实体 Type类型 Convert json to Entity List 将Json转换为实体列表 Type类型 Convert object to json 将一个对象(实体,泛型List,字典Dictionary)转成Json default value is RowOp.All 默认值为RowOp.All 转Json xml字符串 是否将属性值也输出 Convert json to Xml 将一个Json转成Xml default value is true 是否转成属性,默认true 读取文本中的Json(并去掉注释) 分隔Json字符串为字典集合。 解析Json 获取值的长度(当Json值嵌套以"{"或"["开头时),【优化后】 支持转换:实体或实体列表二合一 将json数组分成字符串List ["a,","bbb,,"] 获取字符在字符串出现的次数 用于收集本机的环境信息 相对固定的属性 变化的部分属性 电脑的名称 程序运行的当前用户名。 CPU的核数 本机内网IP,若无,则返回主机名 当前进程ID 当前进程占用的内存(M) 抛出异常 LogType 日志类型 调试 信息 警告 错误 DataBase Cache Aries Dev Framework Taurus Dev Framework Gemini Workflow Dev Framework Taurus.MicroService 内部定时日志工作 待处理的工作队列 存档Hash,5分钟内存在相同的错误,则直接忽略 A class for you to Write log to database 日志记录到数据库(需要配置LogConn链接后方有效) 标识主键 日志类型 分布式追踪ID 请求的主机名称(系统默认读取主机名) 请求的主机IP(系统默认读取主机内网IP,若无则返回主机名) 请求方法 客户端请求IP 请求的地址 请求的地址 日志内容 创建时间 将日志写入到队列中待线程执行。 是否写到文本中 获取文本格式的日志内容 列长度 长度 精度 主键自增是否允许Null 默认值 表名或字段描述 数据库:字段名称 数据库:表名 快速操作操作类。 当前 用户 是否开启了全局事务 存档事务的标识 开启事务:如果已存在事务(则返回false) 开启事务:如果已存在事务(则返回false) 链接配置项名称或链接字符串 事务等级 提交事务 事务回滚 查找单条记录 实体类型 条件 指定查询的列(可选) 列表查询 查询条件[可附带 order by 语句] 列表查询 查询几条 查询条件[可附带 order by 语句] 查找多条记录 实体类型 第N页 每页N条 条件 返回记录总数 指定查询的列(可选) 删除记录(受影响行数>0才为true) 实体类型 条件 删除记录(受影响行数>0才为true) 实体类型 条件 是否忽略软删除标识 添加一条记录 实体类型 实体对象 更新记录(受影响行数>0才为true) 实体类型 实体对象 条件 指定要更新列 是否存在指定的条件 ORM 基类【内置RealProxy,能拦截属性赋值变化,实现按需要插入或更新,NetCore下该属性无效】 获取 - 基类 ORM 的相关信息【Orm内部属性】 构造函数 设置Aop状态 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 表名,如:Users 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 表名,如:Users 数据链接,单数据库时可写Null,或写默认链接配置项:"Conn",或直接数据库链接字符串 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 表名,如:Users 数据链接,单数据库时可写Null,或写默认链接配置项:"Conn",或直接数据库链接字符串 当执行发生异常时,是否输出日志 设置值,例如:[action.Set(TableName.id,10);] 字段名称,可用枚举如:[TableName.id] 要设置给字段的值 set示例:action.Set(Users.UserName,"路过秋天"); get示例:int id=action.Get<int>(Users.id); 插入数据 插入数据 插入选项 插入数据 插入主键 插入数据 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 插入数据 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 插入数据 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 插入选项 自定义插入主键 更新数据 更新数据 where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天'] 更新数据 where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天'] 是否自动获取值[自动从控件获取值,需要先调用SetAutoPrefix或SetAutoParentControl方法设置控件前缀] 删除数据 删除数据 where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天'] 查询1条数据(自动取值) 查询1条数据 查询1条数据并返回新的一行 列表查询 列表查询 查询条件[可附带 order by 语句] 列表查询 查询几条 查询条件[可附带 order by 语句] 带分布功能的选择[多条件查询,选择所有时只需把PageIndex/PageSize设置为0] 第几页 每页数量[为0时默认选择所有] 查询条件[可附带 order by 语句] 返回的记录总数 获取记录总数 获取记录总数 查询是否存在指定的条件的数据 释放资源 批量加载值(可从Json、实体对象、MDataRow、泛型字段等批量加载值) json字符串或实体对象 本方法可以在单表使用时查询指定的列[设置后可使用Fill与Select方法] 提示:分页查询时,排序条件的列必须指定选择。 可设置多个列名[调用Fill或Select后,本参数将被清除] 参数化传参[当Where条件为参数化(如:name=@name)语句时使用] 参数名称 参数值 参数类型 设置参数化 清除(SetPara设置的)自定义参数 清空所有值 更新操作的自定义表达式设置。 例如a字段值自加1:"a=a+1" UI 操作【WebForm、Winform、WPF等自动取值或赋值】【Orm内部属性】 数据库 - 元数据基础信息 Get 数据库 - 更新、删除、插入,查询操作后,受影响的行数 Get 数据库 - 是否事务进行中 Get 数据库 - 表名 Get 数据库 - 名称 Get 数据库 - 版本信息 Get 数据库 - 的列结构 Get 数据库 - 链接配置名称 Get 数据库 - 链接完整字符串 Get 数据库 - 操作的调试信息 Get 数据库 - 类型 简单ORM基类(无属性拦截,实体全量更新或插入) 简单ORM基类(无属性拦截,实体全量更新或插入) 获取 - 基类 ORM 的相关信息【Orm内部属性】 标识是否允许写日志(默认true) 是否启用了AOP拦截设置字段值同步(默认false) Whether to allow manual insertion of ids for self-incrementing primary key identification 自增主键标识的,是否允许手动插入id 构造函数 设置参数化 设置参数化 Sets a custom expression for the Update operation. 为Update操作设置自定义表达式。 as:"a=a+1"如:"a=a+1" 设置Aop状态 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 表名,如:Users 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 表名,如:Users 数据链接,单数据库时可写Null,或写默认链接配置项:"Conn",或直接数据库链接字符串 初始化状态[继承此基类的实体在构造函数中需调用此方法] 实体对象,一般写:this 表名,如:Users 数据链接,单数据库时可写Null,或写默认链接配置项:"Conn",或直接数据库链接字符串 当执行发生异常时,是否输出日志 将原有的初始化改造成延时加载。 插入数据 插入数据 插入选项 插入数据 插入主键 插入数据 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 插入数据 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 插入数据 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 插入选项 插入主键 更新数据(受影响行数>0才为true) 更新数据(受影响行数>0才为true) where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天'] 指定仅更新的列名,多个用逗号分隔 更新数据(受影响行数>0才为true) where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天'] 是否自动获取值[自动从控件获取值,需要先调用this.UI.SetAutoPrefix或this.UI.SetAutoParentControl方法设置控件前缀] 删除数据(受影响行数>0才为true) 删除数据(受影响行数>0才为true) where条件,可直接传id的值如:[88],或传完整where条件如:[id=88 and name='路过秋天'] 删除数据(受影响行数>0才为true) 当表存在删除字段,如:IsDeleted标识时,默认会转成更新,此标识可以强制设置为删除 查询1条数据 查询1条数据 查询一条数据并返回一个新的实例 列表查询 列表查询 查询条件[可附带 order by 语句] 列表查询 查询几条 查询条件[可附带 order by 语句] 带分布功能的选择[多条件查询,选择所有时只需把PageIndex/PageSize设置为0] 第几页 每页数量[为0时默认选择所有] 查询条件[可附带 order by 语句] 返回的记录总数 指定返回的列 获取记录总数 获取记录总数 查询是否存在指定的条件的数据 批量加载值(可从Json、实体对象、MDataRow、泛型字段等批量加载值) json字符串或实体对象 清除(SetPara设置的)自定义参数 清空所有值 UI操作 释放资源 管理表(字段结构) 从实体转成列 从DataTable 架构转列 全局缓存实体类的表结构(仅会对Type读取的结构) 清空对应表的缓存 清空缓存 获取表结构Key:*.txt 缓存表架构Key DbDataReader的GetSchema拿到的DataType、Size、Scale很不靠谱 处理跨库访问 获得最优(可能会切换数据库)链接的配置或语句。 表名、视图名、存储过程名 获得数据库名称。 获得数据库表相关信息(会搜寻最新数据库内容) 指定时优先寻找。 表名 是否存在指定的表名、视图名、存储过程名 管理数据库(N个库) 初始化。 首次初始化的数据库。 获取所有表架构(如果未缓存完成,会重新读取完整后才进行返回(有阻塞可能) 获取(并缓存)数据库的“表、视图、存储过程”名称列表。 移除数据库缓存 清空所有数据库缓存 初始化 基础表结构,只运行1次 SQL 结构语句 获取单个列的表描述语句 获取指定的表架构生成的SQL(Create Table)的说明语句 获取指定的表架构生成的SQL(Create Table)语句 获取指定的表架构生成的SQL(Alter Table)语句 SQL语法解析规则 分析语法 Sql语句多数据库兼容 同语句多数据库兼容处理 Sql 语句格式化类 (类似助手工具) Sql关键字处理 去除关键字符号 Sql数据库兼容和Sql注入处理 移除"where 1=1" 创建补充1=2的SQL语句 表名、或视图语句 Mysql Bit 类型不允许条件带引号 (字段='0' 不可以) 静态的对IField接口处理 将各数据库默认值格式化成标准值,将标准值还原成各数据库默认值 [0:转成标准值],[1:转成各数据库值] 用List 也是因为内存读写异常问题(所有的[]数组,看似都有这问题) 用于多数据库兼容的替换关键字/函数 对于Bit类型[是/否] 类型的排序:[#DESC] (Access特殊) 对于Bit类型[是/否] 类型的排序:[#ASC] (Access特殊) 对于Bit类型[是/否] 的条件值:[#TRUE] 对于Bit类型[是/否] 的条件值:[#FALSE] 数据库函数 Len 取长度:[#LEN](字段) 数据库函数 GUID 获取:[#GUID] 数据库函数 ISNULL 判断:[#ISNULL](ColumnName,ReplaceValueWhenIsNull) 数据库函数 GetDate 获取当前时间:[#GETDATE] 数据库函数 Year 获取时间的年:[#YEAR](字段) 数据库函数 Month 获取时间的月:[#MONTH](字段) 数据库函数 Day 获取时间的日:[#DAY](字段) 数据库函数 Substring 截取字符串:[#SUBSTRING](字段,起始索引,1开始,长度int) 示例: [#Substring](Title,1,2) 数据库函数 CharIndex 查询字符所在的位置:[#CHARINDEX]('要查询的字符',字段) 示例: [#CHARINDEX]('findtitle',Title)>0 数据库函数 DateDiff 比较日期的差异天数:[#DATEDIFF](参数,开始时间,结束时间) 参数:"yyyy", "m","d", "h", "n", "s" 数据库函数 Case 分支语句,其它Case 一起的关键字也需要包含。 示例: [#CASE] [#WHEN] languageid={1} [#THEN] {2} [#ELSE] 0 [#END] 数据库函数 Case When 分支语句,其它Case 一起的关键字也需要包含。 示例: [#CASE#WHEN] languageid={0} [#THEN] 1000000 [#ELSE] 0 [#END] 数据库链接符号 + Oracle下为:|| 数据库函数:Left(column,length) 数据库函数:Right(column,length) 数据类型转换类 获得数据类型对应的Type 获得数据类型对应的Type 将DbType类型对应映射到SqlDbType类型 DbType类型 将DbType类型字符串表达方式对应映射到SqlDbType类型 类型名称 将DbType类型字符串表达形式对应映射到DbType类型 类型名称 将DbType类型字符串表达形式对应映射到DbType类型 类型名称 将SqlDbType类型对应映射到DbType类型 SqlDbType类型 字母型返回0;数字型返回1;日期型返回2;bool返回3;guid返回4;其它返回999 字母型返回0;数字型返回1;日期型返回2;bool返回3;guid返回4;其它返回999 导数据,创建表所用 单元结构 数据库类型 数据库版本号 CodeFirst时的默认类型的字段长度。 Sql分页语句类 首页查询 最后一页查询 前半段分页查询 后半段分页查询(即倒过来查询) MSSQL、Oracle的行号分页 临时表分页(不带自增加序列) 临时表分页(带自增加序列) 获取order by 语句 排序是否反转 数据操作语句类 oracle序列名称 是否允许执行SQL操作(仅对Insert和Update有效;如果SQL语法错误,则拒绝执行) 更新操作的附加表达式。 指定查询的列。 返回插入的字符串 结果如:insert into tableName(id,Name,Value) values(@id,@Name,@Value) 返回不包括Where条件的字符串 结果如:Update tableName set Name=@Name,Value=@Value 获取主键组合的Where条件。 根据元数据列组合where条件。 获得批量导入的列名。 一行记录 获取列头 所依属的数据库配置项名称[当MAction从带有架构的行加载时,此链接若存在,优先成为默认的数据库链接] 原始表名[未经过多数据库兼容处理] 动态存储数据 输入枚举型数据 获取该行拥有其架构的 MDataTable。 通过一个数组来获取或设置此行的所有值。 获取或设置行的自定义错误说明。 获取第一个关键主键列 获取联合主键列表(若有多个主键) 此方法被Emit所调用 此方法被Emit所调用 返回数组值 取值 将行的数据转成两列(ColumnName、Value)的表 将行的数据转成两列(ColumnName、Value、State)的表 仅数据(不含列头结构) 将行的数据行的值全重置为Null 获取行的当前状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 获取行的当前状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 为行连续设置值多个值 起始行索引||起始列名 多个值 为行设置值 为行设置值 字段名 手工设置状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 将行的数据行的状态全部重置 状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 将行的数据行的状态全部重置 状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 状态设置选项 批量指定某些列 无参时默认自-1 复制一行 从实体、Json、Xml、IEnumerable接口实现的类、MDataRow 从实体、Json、Xml、IEnumerable接口实现的类、MDataRow 输出行的数据Json 输出行的数据Json 输出Json 过滤条件 转义选项 转实体类 类型 将值批量赋给UI 将值批量赋给UI 自动前缀,多个可用逗号分隔 页面控件 从Web Post表单里取值。 从Web Post表单里取值 或 从Winform、WPF的表单控件里取值。 True为Web应用,反之为Win应用 Web时设置前缀,Win时设置父容器控件 从别的行加载值 从别的行加载值 从别的行加载值 要加载数据的行 行选项[从其它行加载的条件] 如果row带有新列,是否加列 是否同时加载值的状态[默认值为:true] 从数组里加载值 从json里加载值 从json里加载值 从泛型字典集合里加载 将实体转成数据行。 实体对象 将实体转成数据行。 实体对象 将实体转成数据行。 实体对象 跳过设置的选项 初始值:0无法插入和更新;1可插入;2可插入可更新(默认值) 将行中的数据值赋给实体对象 实体对象 将指定行的数据赋给实体对象。 实现Winform DataGridView 的添加编辑和删除操作功能。 行集合 隐式转换列头 获取该行拥有其架构的 MDataTable。 创建使用指定值的行,并将其添加到 MDataRowCollection 中 添加行[默认重置状态为true] 重置状态,[默认true],重置后的行数据不参与MDataTable的批量更新操作,状态在重新赋值时改变。 表格 用于关联表的列名,不设置时默认取表主键值 两表LeftJoin关联 关联表 追加显示的列,没有指定则追加关联表的所有列 两表LeftJoin关联 关联表名 关联的字段名,设置Null则自动取表主键为关联名 追加显示的列,没有指定则追加关联表的所有列 从DataReader隐式转换成MDataTable 从DataTable隐式转换成MDataTable 从行集合隐式转换成MDataTable 将一行数据装载成一个表。 将一行数据装载成一个表。 表格行 动态存储数据(如:AcceptChanges 产生的异常默认由本参数存储) 表名 表名描述 表格的架构列 该表归属的数据库链接。 新建一行 新建一行 是否顺带添加到表中 新建一行 插入的索引 使用本查询,得到克隆后的数据 使用本查询,得到克隆后的数据 使用本查询,得到克隆后的数据 使用本查询,得到原数据的引用。 使用本查询,得到原数据的引用。 统计满足条件的行所在的索引 统计满足条件的行数 根据条件分拆成两个表【满足条件,和非满足条件的】,分出来的数据行和原始表仍是同一个引用 加载行(包括行架构)[提示,仅当表为空架构时有效] 转换成DataTable 转换成DataTable 是否追加【值状态、记录总数】到扩展属性 输出Xml文档 输出Xml文档 名称转小写 保存Xml 输出Json 输出头部信息[带count、Success、ErrorMsg](默认true) 首行输出表架构信息,反接收时可还原架构(默认false) 过滤选项 符号转义选项 输出Json[可指定保存路径] 将数据表绑定到列表控件 列表控件[包括Repeater/DataList/GridView/DataGrid等] 将数据表绑定到列表控件 列表控件[包括Repeater/DataList/GridView/DataGrid等] 当Control为XHtmlAction对象时,需要指定绑定的节点id 将新表的行放到原表的下面。 将表里所有行的数据行的状态全部重置 状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 将表里所有行的数据行的状态全部重置 状态[0:未更改;1:已赋值,值相同[可插入];2:已赋值,值不同[可更新]] 状态设置选项 转实体列表 是否使用Emit方式转换[数据越多[大于500条]性能越高],不写默认自适应判断 批量插入或更新 [提示:操作和当前表名有关,如当前表名不是要提交入库的表名,请给TableName属性重新赋值] 操作选项[插入|更新] 返回false时,若有异常,存在:DynamicData 参数中 批量插入或更新 [提示:操作和当前表名有关,如当前表名不是要提交入库的表名,请给TableName属性重新赋值] 操作选项[插入|更新] 事务等级【外部没有事务时有效】 返回false时,若有异常,存在:DynamicData 参数中 操作选项[插入|更新] 指定新的数据库链接 AcceptOp为Update或Auto时,若需要设置联合主键为唯一检测或更新条件,则可设置多个字段名 返回false时,若有异常,存在:DynamicData 参数中 获取修改过的数据 获取修改过的数据(若无修改,则返回Null) 仅Insert和Update选项可用 返回某列的集合 列名 返回某列的集合 列名 参数选项 返回某列的集合 列的类型 列名 过滤选项 是否去掉重复数据 返回某列的集合 列的类型 第N列 返回某列的集合 列的类型 第N列 过滤选项 返回某列的集合 列的类型 第N列 过滤选项 是否去掉重复数据 复制表 复制表的结构 是否克隆表结构 过滤掉重复的数据行(仅比较基础类型、复杂数据类型仅比较类型名称)。 被过滤的数据集表 过滤掉重复的数据行(仅比较基础类型、复杂数据类型仅比较类型名称)。 获取列的总数 清除所有行 获取数据行总数 是否已读取完所所有数据,并清空了记录。 是否还有下一条数据 索引移到下一条,准备进行读取。 返回(查询时)记录总数。 不关闭Sdr(因为外部MProc.ExeMDataTableList还需要使用) 从List列表里加载成MDataTable 实体列表对象 从Json或Xml字符串反加载成MDataTable 从Json或Xml字符串反加载成MDataTable 获取列的最小值 类型 列名 获取列的最小值 类型 列索引 获取列的最大值 类型 列名 获取列的最大值 类型 列索引 汇总某列的值 类型 列名 汇总某列的值 类型 列索引 记算某列的平均值 类型 列名 记算某列的平均值 类型 列索引 行转换列(不指定时,默认取最后三列处理) 行转换列 用于指定行的列名 用于分拆成列的列名 用于显示值的列名 单元格 原型模式(Prototype Method) 字符串值 是否忽略Json转换 延时检测值的类型 值的数据类型转换。 要被转换的值 要转换成哪种类型 数据库类型的组号 值是否为Null值[只读属性] 值是否为Null或为空[只读属性] 列名[只读属性] 单元格的结构 Value的状态:0;未改,1;进行赋值操作[但值相同],2:赋值,值不同改变了 将值重置为空 设置默认值。 已被重载,默认返回Value值。 是否值相同[已重写该方法] 转成行 单元结构属性 结构集合 是否忽略Json转换 表名 外键表名 旧的列名(AlterOp为Rename时可用) 列名 字段描述 是否关键字 是否自增加 是否允许为Null 是否唯一索引 是否外键 默认值 SqlDbType类型 最大字节 精度(小数位) 原始的数据库字段类型名称 列结构改变状态 克隆一个对象。 为列的所有行设置值 返回该列的where In 条件 : Name in("aa","bb") 单元结构的值 状态改变:0;未改(无法插入和更新),1;进行赋值操作[但值相同](允许插入),2:赋值,值不同改变了(允许插入和更新) 已经Fix()类型转换后的值。 未进行类型转换之前的值 将值重置为空 头列表集合 是否需要刷新索引 添加列时,检测名称是否重复(默认为true)。 隐式转换列头 架构所引用的表 表名描述 表名 存储列名的索引 更新索引 获取列所在的索引位置(若不存在返回-1) 将 列 的序号或位置更改为指定的序号或位置。 列名 序号 给列批量赋相同的值。 列名 输出Json格式的表构架 转成行 表名 保存表架构到外部文件中(json格式) 联合主键 第一个主键 首个唯一键 当前的数据库类型。 当前的数据库版本号。 当前的数据库链接项(或语句) 该结构是否由视图拥有 将表结构的数据转成Table显示 添加列 列名 列的数据类型 是否自增id列 默认值[日期类型请传入SqlValue.GetDate] ReadOnly 从Json或文件中加载成列信息 Json或文件(完整路径)名称 从Json或文件中加载成列信息 Json或文件(完整路径)名称 是否从.txt或.xml文件中读取架构(默认为true) 仅用于Winform的列表绑定。 实现Winform的表格控件绑定功能。 列结构修选项 默认不修改状态 添加或修改状态 删除列状态 重命名列状态 表间的关联关系 批量更新选项 批量插入(由系统产生自增加id) 该执行会开启事务。 批量插入(由用户指定id插入) 该执行会开启事务。 批量更新 该执行会开启事务。 批量删除 批量自动插入或更新(检测主键数据若存在,则更新;不存在,则插入) 该执行不会开启事务。 清空表(只有和Insert或InsertWithID组合使用时才有效) MDataTable 与 MDataRow SetState 的过滤选项 未设置,设置所有 跳过设置值为Null的。 跳过设置值为空的。 跳过设置值为Null或空的。 MDataRow 与 JsonHelper 行数据的过滤选项 未设置,输出所有,包括Null值的列 输出所有,但不包括Null值的列 输出具有插入状态的值 输出具有更新状态的值 批量操作。 联合主键 Insert前是否先清表 内部操作对象(需要同一个事务处理)。 进行列修正(只有移除 和 修正类型,若无主键列,则新增主键列) 设置联合主键 联合主键 检测GUID,若空,补值。 操作符号 没有操作 操作符号:">" 操作符号:">=" 操作符号:"=" 操作符号:"<>" 操作符号:"<" 操作符号:"<=" 操作符号:"like" 操作符号:"not like" 是否Null值 非Null值 操作符号:In 操作符号:Not In 查询的基本连接条件 条件过滤参数 MDataTable查询过滤器 多个条件 SQL操作符号 单个条件 条件比较 多条件下值比较 分隔where条件中order by 出来 只保留查询的列 快速转换类[数据量越大[500条起],性能越高] 存储动态方法 构建一个ORM实体转换器(第1次构建有一定开销时间) 转换的目标类型 表数据架构 类型转换(支持json转实体) 类型转换(支持json转实体) 类型转换(支持json转实体) 类型转换(支持json转实体) 类型转换(支持json转实体) 类型转换(支持json转实体) 类型转换(支持json转实体) 类型转换(支持json转实体) DbDataReader To List DbDataReader To Json 类型转换(精准强大) 类型转换(精准强大) 值处理 类型 (表、视图、存储过程)相关信息 (表、视图、存储过程)名称(只读) 类型(只读) 描述(可写) 数据库信息(只读) 获取指定(表、视图、存储过程)名称的Hash值 获取相关的列架构(对表和视图有效) 刷新表列结构缓存 清空缓存【内存和硬盘】 数据库信息 用于遍历使用(多线程下) 根据名称(按顺序)获取表、视图、存储过程信息。 名称 根据名称获取指定类型(表、视图、存储过程)的信息。 名称 指定类型:U、V或P DBTool Drop Table 时调用 DBTool Add Table 时调用 获取指定数据库链接的HashKey 配置名或链接字符串 刷新:表、视图、存储过程 缓存。 刷新:表、视图或存储过程列表 缓存。 指定类型:U、V或P 密码加密类【含Hash算法】 【用于分布式】根据字符串获取相应的HashKey 字符串 【用于分布式】根据字符串获取相应的HashCode 字符串 加密 加密的内容 加密 加密的内容 指定加密的key 3des加密字符串 要加密的字符串 密钥 加密后并经base64编码的字符串 静态方法,采用默认ascii编码 解密 要解密的字符串 解密后的字符串 指定加密的key 3des解密字符串 要解密的字符串 密钥 解密后的字符串 密钥错误 静态方法,采用默认ascii编码 创建唯一Hash。 创建HashKey,重复概率低一些。 创建HashCode,有一定重复概率。 取自java的字符串hash算法(有一定重复的概率)。 文件读取类(能自动识别文件编码) 文件夹操作 读取文件内容,并自动识别编码 完整路径 缓存分钟数(为0则不缓存) 读取文件内容 指定编码时(会跳过编码自动检测) 读取文件内容,并自动识别编码 读取IO数据【带Mutex锁】 往文件里写入数据(文件存在则复盖,不存在则创建) 往文件里追加数据(文件存在则追加,不存在则更新),并自动识别文件编码 检测文件是否存在 删除文件 检测并返回文件编码。 文件路径。 检测并返回文件编码。 检测字节 检测文件夹是否存在 删除文件夹 获取文件夹文件 获取文件夹文件 监控中的列表。 字节文本编码检测 是否中文 是否拥有Bom头 获取文件编码 Automatically detects the Encoding type of a given byte buffer. The byte buffer. The size of the byte buffer. The Encoding type or Encoding.None if unknown. Checks if a buffer contains text that looks like utf16 by scanning for newline chars that would be present even in non-english text. 以检测换行符标识来判断。 The byte buffer. The size of the byte buffer. Encoding.none, Encoding.Utf16LeNoBom or Encoding.Utf16BeNoBom. Checks if a buffer contains any nulls. Used to check for binary vs text data. The byte buffer. The size of the byte buffer. Checks if a buffer contains text that looks like utf16. This is done based on the use of nulls which in ASCII/script like text can be useful to identify. 按照一定的空0数的概率来预测。 The byte buffer. The size of the byte buffer. Encoding.none, Encoding.Utf16LeNoBom or Encoding.Utf16BeNoBom. Checks if a buffer contains valid utf8. 以UTF8 的字节范围来检测。 The byte buffer. The size of the byte buffer. Encoding type of Encoding.None (invalid UTF8), Encoding.Utf8NoBom (valid utf8 multibyte strings) or Encoding.ASCII (data in 0.127 range). 2 是否中文编码(GB2312、GBK、Big5) 反射工具(带缓存) 将PropertyInfo[] 改成PropertyInfo List,是因为.NET的CLR会引发内存读写异常(启用IntelliTrace时) 获取属性列表 获取Field列表 获取泛型的参数长度(非泛型按默认方法计算) 获取泛型的参数长度,同时类型修改为普通类型(非泛型按默认方法计算) 获取特性列表 判断是否存在指定的属性 获取系统类型,若是Nullable类型,则转为基础类型。 转实体所用参数 基础类型 枚举类型 数组 集合类型 泛型 自定义类 数据库工具类[都是静态方法] 获取异常的信息 获取数据库链接的数据库类型 链接配置Key或数据库链接语句 获取指定数据库的数据类型 单元格结构 数据库类型 数据库版本号 测试数据库链接语句 链接配置Key或数据库链接语句 是否存在(表 U、视图 V 存储过程 P) 名称 是否存在(表 U、视图 V 存储过程 P) 名称 表 U、视图 V 存储过程 P 是否存在(表 U、视图 V 存储过程 P) 名称 表 U、视图 V 存储过程 P 指定链接 为指定的表架构生成SQL(Create Table)语句 为指定的表架构生成SQL(Create Table)语句 获取指定的表架构生成的SQL(Create Table)的说明语句 获取指定的表架构生成的SQL(Create Table)的说明语句 获取指定的表架构生成的SQL(Create Table)的说明语句 获取指定的表架构生成的SQL(Create Table)的说明语句 获取指定的表架构生成的SQL(Alter Table)的说明语句 获取指定的表架构生成的SQL(Alter Table)的说明语句 修改表的列结构 修改表的列结构 表名 列结构 数据库链接 移除一张表 移除一张表 数据库链接 获取表列架构 获取表列架构 表名 获取表列架构(链接错误时,抛异常) 表名 数据库链接 出错时的错误信息 获取表列架构 表名 数据库链接 为字段或表名添加关键字标签:如[],''等符号 表名或字段名 数据类型 取消字段或表名添加关键字标签:如[],''等符号 表名或字段名 将各数据库默认值格式化成标准值,将标准值还原成各数据库默认值 [0:转成标准值],[1:转成各数据库值] 获取配置项中所有的数据库列表 获取单个数据库信息 线程安全字典类 key value 添加值(带锁)【不存则,则添加;存在,则忽略】 移除(带锁) 索引取值(带锁) 通过index索引取值(带锁) 当Key为int时,通过此方法取值(带锁) 检查值存在【则更新】,不存在则添加(带锁) 清空数据(带锁) 获取键列表(带锁) 获取值列表(带锁) 静态方法工具类 将GUID转成16字节字符串 【用于分布式】 用于标识(以用户为单位)的 主从 的唯一标识 用于标识(以线程为单位)的 全局事务 的唯一标识 在ASP.NET中使用多线程时,为了避开升级dll时产生多个线程互相影响,使用此类可以通过外置文件进行跳出。 应用程序退出时,可调用此方法,用于退出全局线程【while循环】。 提示:AppConfig中需要配置ThreadBreakPath项的路径 是否需要退出。 清除线程threadbreak文件。 线程名称 添加全局线程[通常该线程是个死循环,定时处理事情] 对于自定义控件,只要继承此接口,即可以使用GetFrom与SetTo方法 控件的值 控件的启用状态 控件的名称(Name)或id 第三方控件UI注册 添加要注册的第三方控件名称。 控件类名,如:TextBox 控件的自动取值或赋值属性名称,如:Text 清除UI注册 UI 对外接口 批量对所有控件自动赋值【默认前缀为(txt,ddl,chb),可通过调用SetAutoPrefix调整】 父控件(可设置:this) 可选(其它的父控件) action.SetAutoPrefix("txt","ddl");//设置控件的前缀 action.UI.SetToAll(this); 将值赋给控件 控件对象 示例:action.UI.SetTo(txtUserName);//同于:txtUserName.Text=action.Get<string>(Users.UserName); 指定对某个属性赋值 设置控件是否可用 从控件中取值 控件对象 示例:action.UI.GetFrom(txtUserName);//获取TextBox默认Text属性的值 从指定的属性里取值 若控件无值,则取此默认值 绑定DrowDownList等列表控件 (下拉)列表控件 绑定DrowDownList等列表控件 绑定下拉等列表,控件需要继承自:ListControl。 DropDown/CheckBoxList/RadioButtonList等 对表的数据进行过滤如:"id>15 and Url='cyqdata.com'" 绑定时显示的字段名[默认字段名取自控件的id(去掉前三个字母前缀)] 绑定时显示字段对应的值[默认值的字段名为:id] 自动获取值前缀设置,可传多个前缀[至少1个] 第一个前缀[必须] 后面N个前缀[可选] (Win或WPF)自动获取值父控件设置,可传多个父控件[至少1个] 第一个父控件名称[必须,可传:this] 后面N个[可选] MDataRow值-》赋给控件。 从控件里取值-》MDataRow (返回属性名称) 自动设置列的值(true为插入,false为更新) 对单个值自动取值。 主键自动取值。 数据库类型操作类 全局存档,是为了用单例来实现全局事务。 简单工厂(Factory Method) 数据库操作基类 (模板模式:Template Method) 属性管理 执行管理 链接管理 记录SQL语句信息 执行命令时所受影响的行数(-2为发生异常)。 当前是否开启事务 原生态传进来的配置名(或链接) 数据库主从备链接管理对象; 当前使用中的链接对象 获得链接的数据库名称 获得链接的模式名称 数据库的版本号 当前操作的数据库类型 是否允许进入写日志中模块(默认true) 是否允许记录SQL语句 (内部操作会关掉此值为False) 读取表名、视图、存储过程列表 U、V、P 切换数据库(修改数据库链接) 是否数据库名称变化了 存储过程返回值。 存储过程OutPut输出参数值。 如果只有一个输出,则为值; 如果有多个输出,则为Dictionary。 处理内置的MSSQL和Oracle两种存储过程分页 记录执行时间 事务(有则)回滚 输出错误(若事务中,回滚事务) 测试链接 1:只允许当前主链接;2:允许主备链接;3:允许主备从链接 切换链接 打开链接,只切主备(同时有N秒的主库定位) 打开链接,允许切从。 Write Log to txt or database 日志静态类(可将日志输出到文本中) 如果配置数据库则写数据库,没有配置写文本 如果配置数据库则写数据库,没有配置写文本 Write log to txt 指定将日志写到外部txt[web.config中配置路径,配置项为Logpath,默认路径为 "Log/" ] write log to database [LogConn must has config value] 将日志写到数据库中[需要配置LogConn项后方生效 ] write log to database [LogConn must has config value] 将日志写到数据库中[需要配置LogConn项后方生效 ] Convert Exception to string 获取异常的内部信息 区分Oracle11和Oracle12的Dll名称。 抽象工厂 值-1未初始化;0使用OracleClient;1使用DataAccess;2使用ManagedDataAccess 是否使用Oracle的ODP.NET组件。 多语言操作类 获取加载的Xml语言文件的完整(路径)名称 获取或设置当前语言类型(如果有设置语言Cookie,则初始化时从Cookie恢复) 获取系统默认的语言(取值顺序:AppConfig.XHtml.SysLangKey - > 浏览器语言 -》 默认中文) 实例化 xml文件路径 是否Html文件 是获从Cookie初始化默认语言 实例化 xml文件路径 是否Html文件 实例化 xml文件路径 获取多语言节点值 Xml节点id 获取多语言节点值 Xml节点id LanguageKey对应的数字 获取多语言节点值 Xml节点id 获取的语言 设置语言类型到Cookie中 设置语言类型到Cookie中 获取LanguageKey数字对应的枚举名称 获取LanguageKey枚举对应的数字 LanguageKey枚举名称 Rss操作类 RSS 频道(默认) 设置网站标题 网站名称 网址 网站描述 设置图片(网站Logo) Logo网址 Logo标题 Logo点击时跳转链接 添加RSS项(文章) 标题 链接 作者 发布日期 内容或摘要 LoadData(MDataTable)进行映射后,在格式化每一行数据时触发事件 获取输出的RSS内容。 加载MDataTable,之后可调用SetMap进行字段映射 设置与MDataTable间的字段映射 Rss名称 格式化,如“{0}.Name”,若无需要格式化,直接赋Null值 同DataTable的字段名称 RSS 频道 定义频道的标题 定义指向频道的超链接 描述频道 为 feed 定义所属的一个或多个种类 注册进程,以获得 feed 更新的立即通知 告知版权资料 规定指向当前 RSS 文件所用格式说明的 URL 规定指向当前 RSS 文件所用格式说明的 URL 规定编写 feed 所用的语言 定义 feed 内容的最后修改日期 定义 feed 内容编辑的电子邮件地址 为 feed 的内容定义最后发布日期 feed 的 PICS 级别 规定忽略 feed 更新的天 规定忽略 feed 更新的小时 规定应当与 feed 一同显示的文本输入域 指定从 feed 源更新此 feed 之前,feed 可被缓存的分钟数 定义此 feed 的 web 管理员的电子邮件地址 定义此 feed 的 图片Logo 频道项 图片项 图片地址 图片标题 提供图片的站点链接 描述频道 RSS项 定义频道的标题 定义指向频道的超链接 描述频道 为 feed 定义所属的一个或多个种类 规定项目作者的电子邮件地址 允许项目连接到有关此项目的注释(文件) 允许将一个媒体文件导入一个项中 为 项目定义一个唯一的标识符 定义此项目的最后发布日期 为此项目指定一个第三方来源 RSS 项枚举 XHtmlAction 使用时的值替换 Set 方法中 原节点的值 :[#source] LoadData加载数据后,数据的值 :[#new] MutilLanguage 类 Get方法取到值后,按[#langsplit]分隔并按当前语言返回分隔符前面或后面值 Xml/Html操作类 Json 交互 默认构造函数[操作无名称空间的Xml] 构造函数 true时,将自动载入html的名称空间(http://www.w3.org/1999/xhtml) 构造函数 true时,将自动载入html的名称空间(http://www.w3.org/1999/xhtml) true时文档应为只读,所获取是同一份文档引用;false时文档可写,每次获取会克隆一份文档返回。 构造函数 当Xml的名称空间[若有] GetByID or GetByName id or name 添加节点 parentNode的第N个子节点之后 保留节点,但清除节点所内容/属性 移除子节点 节点的id 从第几个子节点开始删除[索引从0开始] 移除子节点 节点 从第几个子节点开始删除[索引从0开始] 移除多个属性 要移除的名称列表 属性移除 属性名称 排除的节点类型 移除注释节点 移除此节点的注释文本 移除注释节点 两个节点交换位置 第一个节点 第二个节点 节点替换[支持两个的文档间替换] 新的数据节点 旧的节点 节点之后插入[支持两文档之间的插入] 要被插入的新节点 在此节点后插入NewNode节点 节点之前插入[支持两文档之间的插入] 要被插入的新节点 在此节点前插入NewNode节点 当前请求是否用户当前设置的语言 是否开始自定义语言分隔(分隔符号为:[#langsplit]) 为节点赋值[通常值是在values中赋值] 对节点赋值(此方法会忽略hidden隐藏域,隐藏节点赋值请用其它重载方法) 输出的Xml内容。 对Html的内容,进行标签替换【1次替换】 需要被替换的内容 用于值替换搜索的字典数据 对于SetForeach函数调用的格式化事件 对列表进行循环绑定处理 数据源 处理的节点 用于循环的内容【通常传递node.InnerXml】 自定义事件 能减少反射就减少反射 用于替换占位符的数据。 加载MDatarow行数据(CMS替换) 为所有字段名指定前缀(如:"a.",或空前缀:"" 装载数据行 (一般后续配合SetFor方法使用或CMS替换) 为所有字段名指定前缀(如:"a.",或空前缀:"") 装载行数据 (一般后续配合SetFor方法使用) 数据行 为节点设置值,通常在LoadData后使用。 节点的id或name 为节点设置值,通常在LoadData后使用。 节点的类型 为节点设置值,通常在LoadData后使用。 setType为Custom时,可自定义值,如“"href","http://www.cyqdata.com","target","_blank"” 转Json 转Json 可设置一个节点(默认根节点) 是否将属性值也输出 操作Xml及XHtml的基类 文件编码 用于批量赋值(LoadData(MDataRow,pre)方法装载) xml对象 内部XmlDocument对象(ReadOnly) 命名空间对象 缓存对象 Html名称空间 加载的Xml文件的完整(路径)名称(ReadOnly) xml缓存的key XHtml 加载的模板是否只读模式 文档是否取自缓存 缓存分钟数 返回最终格式化后的XHtml内容(ReadOnly) 加载的Html是否已改变(ReadOnly) 从绝对路径中获得文件名做为Key值 从xml字符串加载 xml字符串 从文件中加载Xml 加载XML 加载Xml文件 文件名 文件缓存级别 加载后是否清除注释节点 从缓存中加载html 移除所有注释节点 从文件加载XML (最终调用的方法) 将当前 XmlDocument 重新加载到缓存中。 文件保存 指定保存路径 查询单个节点 查询多个节点 获取 XPath 语法 过滤XML(十六进制值 0x1D)无效的字符(同时替换>符号) 给指定的字符加上CDATA 对象字符 清除CDATA 对象字符 释放资源 设置操作的节点属性类型 A链接标识,最多可赋4个值为:InnerXml,href,title,target 自定义,以“属性,值,属性,值”这样的对应设置,无个数限制。 语言种类 未设置状态 中文 英文 法语 德语 韩语 日语 印地语 俄语 意大利语 自定义语言 Xml|XHtml 加载后缓存级别 无缓存 低缓存,5分钟 默认取自配置项CacheTime时间, 1分钟 1小时 1天时间 一周时间 获得分布式追踪ID 仅 2.0 或 3.0 下编绎使用,其它环境编绎可以移除。