摘要: 如题,当CultureInfo是俄文(ru-RU)时,浮点数中的点是用逗号表达的,如1.1会显示成1,1,造成很多的麻烦,当然如果全系统中全部采纳逗号作为浮点也没问题,只要用户接受就可以,但有时需要继续用点号,那么解决办法如下。 1. 修改DefaultThreadCurrentCulture 我们 阅读全文
posted @ 2025-01-22 17:07 Rick Carter 阅读(45) 评论(1) 推荐(0) 编辑
摘要: 如题 hangfire.entityframeworkcore这个库因为System.Threading.Timer未停止也未释放,导致产生大量的Timer一直在执行,占用大量cpu和内存。 https://github.com/sergezhigunov/Hangfire.EntityFramew 阅读全文
posted @ 2024-12-26 20:32 Rick Carter 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 1. 问题 达梦dotnet efcore的驱动DM.Microsoft.EntityFreameworkCore。 如果实体中存在DateTimeOffset类型字段时,查询报错:invalid cast from DateTime to DateTimeOffset。 Invalid cast 阅读全文
posted @ 2024-12-14 14:52 Rick Carter 阅读(73) 评论(4) 推荐(3) 编辑
摘要: 达梦数据库的DOTNET驱动DM.Provider,这个版本8.3.1.30495有bug,会把空字符串改成DBNull处理,反编译代码发现Dm.DmSetValue.SetString方法中判断字符串长度==0就设置成DBNull。 解决办法就是 降低版本到8.3.1.28188。 // Dm.D 阅读全文
posted @ 2024-12-13 11:54 Rick Carter 阅读(30) 评论(0) 推荐(1) 编辑
摘要: 工作中经常遇到性能问题,包括cpu和内存占用高等问题,还有经常想监控当前程序运行情况,如代码运行频次、耗时、占用cpu和内存情况等。基本都是要从dump等诊断工具或者日志去分析,操作麻烦。 今年初就思考是否可以做这样的一个更加方便的工具,可以线上实时分析诊断dotnet程序,并给出结果或者建议,也可 阅读全文
posted @ 2024-11-28 16:02 Rick Carter 阅读(199) 评论(3) 推荐(2) 编辑
摘要: 问题 Abp vNext框架,后台服务使用IStringLocalizer获得翻译时,与设置的“Abp.Localization.DefaultLanguage”不一致,一直是按服务器的本地语言来的。 分析 Abp中重写了IStringLocalizer,Abp源码简化如下。 public clas 阅读全文
posted @ 2024-11-27 21:55 Rick Carter 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 上个文章介绍了动态LINQ库。 然后动态造了一个查询,示例如下: //ctx是EF的DbContext,字段Value是字符串类型 await ctx.Tables.Where("As(Value,\"DateTime?\")>@0",datetime).ToListAsync(); 上面的查询条件 阅读全文
posted @ 2024-11-27 21:54 Rick Carter 阅读(570) 评论(0) 推荐(1) 编辑
摘要: dynamic-linq.net,这个库大家都用过,简单说就是使用字符串编写查询表达式的,非常强大,因为字符串是可以运行时拼接的,所以就可以在运行时动态的构造查询,非常适合框架开发和需要灵活性的场景。 我用它解决了在原生代码非常困难且耗时(需要动态构造表达式)的功能,真正的直达痛点。 它dotnet 阅读全文
posted @ 2024-11-22 21:56 Rick Carter 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 最近又遇到个奇怪的问题,查询出来的时间比数据库中字段存的时间多8小时。 发现是用了efcore的二级缓存,本来用json序列化的,后来为了性能改成MessagePack,最后定位就是MessagePack序列化/反序列化时不保留 DateTime.Kind,导致从redis里拿到的数据中时间值+8小 阅读全文
posted @ 2024-11-22 16:17 Rick Carter 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 这里简单介绍下几种修改实体或者导航的跟踪状态。 1. 直接修改实体 对已在DbContext中跟踪的实体,直接操作,如给字段赋值、给导航属性赋值或者添加删除等 对未在DbContext中跟踪的实体,调用DbContext的Add、Update、Remove等方法,对已跟踪的实体也有效 需要注意所有添 阅读全文
posted @ 2024-11-20 15:52 Rick Carter 阅读(97) 评论(0) 推荐(0) 编辑
摘要: dotnet程序中使用NPOI,升级到2.7后,XSSFWorkbook.Write多了一个可选参数leaveOpen=false,默认是false,这个方法执行完成后,流会关闭,导致后续代码报错。 特别是从旧的版本升级上来的,就很被忽略这个问题,因为生成不报错,运行才报错,因此这个leaveOpe 阅读全文
posted @ 2024-11-16 11:07 Rick Carter 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 很长时间以来我都在公司dotnet开发的软件上做各种性能优化,包括各种崩溃、线程池资源不足、死锁、以及很多性能慢的代码问题等,类似这种cpu相关问题都比较好查出来。 这个过程中经常遇到内存占用过高的问题,也是各种办法都试用了一遍,包括DOTNET GC相关的各种配置,还给docker加内存限制,但是 阅读全文
posted @ 2024-11-08 16:53 Rick Carter 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 环境:EFCore8和Oracle.EntityFrameworkCore8.23.60,都是当前最新版本,报错:ora-00904 FALSE 标识符无效。 原因: 语句在不同oracle版本上的兼容问题,oracle23版本开始支持Boolean标识符表示真假值:False和True。而这之前的 阅读全文
posted @ 2024-10-23 17:02 Rick Carter 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 头一次遇到个奇怪的错误,记录下。 环境:dotnet7 异常:System.InvalidProgramException:“Common Language Runtime detected an invalid program.” 报错代码示例: Func<Task> Func { get; se 阅读全文
posted @ 2024-08-30 19:31 Rick Carter 阅读(71) 评论(0) 推荐(0) 编辑
摘要: NuGet.Config <?xml version="1.0" encoding="utf-8"?> <configuration> <solution> <!-- 默认不将 packages 提交到源代码管理 --> <add key="disableSourceControlIntegrati 阅读全文
posted @ 2021-08-14 16:36 Rick Carter 阅读(616) 评论(0) 推荐(1) 编辑
点击右上角即可分享
微信分享提示