WPF下拉列表懒加载的控件未找到现成可用的组件,于是自己封装了一个懒加载和支持模糊过滤的下拉列表控件,控件使用了虚拟化加载,解决了大数据量时的渲染数据卡顿问题。 ...
1. 问题 环境是dotnet8及以前的版本,dotnet9+不知道是否还有这个问题(我猜是一样的)。 如下代码,在多播委托await异步执行时,不会等待委托方法执行完成,它们在新的线程中运行。 async Task A() { } async Task B() { } Func<Task> fun ...
进行框架依赖发布的时候,应用程序需要有 dotnet runtime 运行时才能跑起来。在 dotnet 9 之前,通常都是需要安装到系统的 Program File 文件夹下的全局 dotnet 运行时的支持。在 dotnet 9 时,引入了 AppHostRelativeDotNet 机制,允许... ...
IIS的垃圾回收引起的影响 错误排查 现象:在.net core api里创建的BackgroundService定义rabbitmq消费的逻辑,在一段时间运行后经常会出现消费任务中断,在日志里找了很久的原因但是依然没有结论。 通过日志发现异常出现在消费后的消息确认阶段,在执行确认的时候对应的cha ...
项目背景 最近开发一组类库,大约会有五六个项目。一个Core,加上若干面向不同产品的实现库,A/B/C/D...它们都依赖Core. 首先,我想统一版本号,这个容易,通过Directory.Build.props设置。 其次,每个库要单独发包。 问题是在开发阶段,子项目都是通过项目引用Core的,便 ...
前言 距写上一篇 https://www.cnblogs.com/vipwan/p/18535459 生成DTO已经有一段时间了, 最初没有考虑复杂二级属性嵌套的实现,而是直接使用排除使用自定义的方式解决这个问题, 但是这个有些违背简约到底的初衷,并且也有好几个网友提出希望支持复杂嵌套属性DTO的功 ...
WikeFlow官网:www.wikesoft.com WikeFlow学习版演示地址:workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com/wikesoft/WorkFlow WikeFlow2.0演示地址:workflow2.wikes ...
前言 .NET NativeAOT 想必不少开发者都已经很熟悉了,它可以将 .NET 程序集直接编译到原生的机器代码,从而可以脱离 VM 直接运行。简单的一句 dotnet publish -c Release -r <rid> /p:PublishAot=true 就可以做到。 在编写 C++ 程 ...
MySurvey 项目 很久没更新我的博客了,之前开发的Biwen.QuickApi微框架 一直没有开发一个示例项目,最近有点时间,写了一个示例项目稍微介绍下, 项目地址 欢迎Star: https://github.com/vipwan/MySurvey 项目简介 这是一个基于 Biwen.Qui ...
ShadowSql拼接sql除了性能突出外还是讲逻辑的 其一为了更好拼接正确的sql,提供代码可读性 其二是为了码农同学爽,拼写起来更简便 以下我就举几个例子给大家观摩一下 一、单表查询示例 为了静态检测,我们首先自定义一个表UserTable用来查询 class UserTable : Table ...
记一个.NET AOT交叉编译时的坑 背景: 使用.NET9开发的Avalonia项目需要部署到Linux-arm64 踩坑: 根据官方AOT交叉编译文档配置后执行打包 dotnet publish -r linux-arm64 提示error : The PrivateSdkAssemblies ...
前言 前段时间太忙了博客一直都没来得及更新,但是不代表我已经停止开发了,刚好最近把语音部分给调整了一下,所以就来分享一下具体的内容了。我想说一下,更新晚还是有好处的,社区已经有很多的小伙伴自己实现了一些语音对话功能的案例,比如小智也有.NET客户端了,还有就是一些树莓派对接实时语音api实现对话的功 ...
原为链接:https://www.cnblogs.com/ysmc/p/18796964 .NET 依赖注入深入详解 依赖注入(Dependency Injection, DI)是.NET Core .NET 5/6/7/8/9/10+中最重要的设计模式之一,下面我将从多个维度详细解释它的工作原理和 ...
此为手动打包更新版 发布.net core程序,然后放到linux目录:/data/app/docker_name 一、打包到容器 1、安装docker 2、编写Dockerfile (放到目录:/data/app/docker_name) 1 #See https://aka.ms/contain ...
docker的安装很多,就不说了 docker常用命令: 注:以下命令中,凡涉及到容器id的,都可以用容器id前三位,或者容器name 重启Docker服务:systemctl restart docker / service docker restart关闭Docker服务:docker serv ...
Trae + claude3.7 事情的经过是这样的: 我有个方法代码如下: /// <summary> /// 获取客户端列表 /// </summary> /// <param name="input">查询条件参数,包含搜索、排序和分页信息</param> /// <param name="c ...
软件开发有点类似于艺术品的雕刻,需要不断的打磨。在我们基于一套成熟的架构开发一套软件后,往往都还是需要反复的推敲,进行不断的重构优化,使得重复的代码、硬编码等地方越来越少,也使得某些逻辑越来越有弹性化。软件开发和艺术品又有所不同,艺术品可能很容易完工并封刀,而软件开发却是持续的改进,软件最终的持续改... ...
前言 C# 获取枚举描述的方法有很多, 常用的有通过 DescriptionAttribute 反射获取, 进阶的可以加上缓存机制, 减少反射的开销。今天我们还提供一种更加高效的方法,通过增量源生成器生成获取枚举描述的代码。这是在编译层面实现的, 无需反射, 性能更高。 本文的演示代码基于 VS20 ...
一、概述 前段时间客户碰到基于surging内存泄漏问题,邀请我来现场帮忙解决,对于dotnetty 我一直又爱又恨,因堆外内存DirectByteBufferChunk 中PoolChunk映射分配的16mb始终无法销毁,后面设置优化了dotnetty 环境变量参数,未在同一线程下导致引用计数出现 ...
最近在研究系统本地化的问题,不可避免要实现模型类的验证消息本地化。毕竟这些错误消息是要返回给用户的。 疑问产生 在MVC模型下,我们会使用模型类对请求参数进行绑定和验证。举个例子: public class UserDto { [Required(ErrorMessage = "姓名不能为空")] ...