互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp智能体框架开发语音交互
前言 前段时间太忙了博客一直都没来得及更新,但是不代表我已经停止开发了,刚好最近把语音部分给调整了一下,所以就来分享一下具体的内容了。我想说一下,更新晚还是有好处的,社区已经有很多的小伙伴自己实现了一些语音对话功能的案例,比如小智也有.NET客户端了,还有就是一些树莓派对接实时语音api实现对话的功 ...
.NET 依赖注入深入详解
原为链接:https://www.cnblogs.com/ysmc/p/18796964 .NET 依赖注入深入详解 依赖注入(Dependency Injection, DI)是.NET Core .NET 5/6/7/8/9/10+中最重要的设计模式之一,下面我将从多个维度详细解释它的工作原理和 ...
.net core cookie授权给非服务器域名的网站时可能无法正常删除的解决办法
背景介绍:.net core框架,API服务器域名是a.com, 服务器需要通过cookie授权给网站b.com域名并设置了授权域名为a.com。 当你想退出时,在网站b.com使用js清理了本域名下的所有cookie后,刷新浏览器cookie列表也确实看到本域名下没有cookie了。 这时再使用另 ...
docker常用命令
docker的安装很多,就不说了 docker常用命令: 注:以下命令中,凡涉及到容器id的,都可以用容器id前三位,或者容器name 重启Docker服务:systemctl restart docker / service docker restart关闭Docker服务:docker serv ...
Longbow.Tasks 实战—任务持久化
原文地址 https://www.cnblogs.com/ysmc/p/18795934 之前写过一个文章,是介绍Longbow.Tasks这个定时任务调度库的,然后不少小伙伴问过我,怎么东西怎么用,也怪我,在那篇文章结尾我讲过要出实战的,后来抛之脑后了,实在惭愧。 简单讲下这个库的情况,Longb ...
2025年3月24日 业务系统基础框架-Winform版-权限
权限以树行结构呈现 可对权限进行添加,编辑,删除操作,也可以查看拥有此权限的账号 “启用验证”为true时这个权限是开始验证的,否则就不开启权限验证, “启用验证”用于中途某个按钮不验证权限了,就把这个权限不开启验证就可以了,不然就得去把所有人都分配上这个权限 编辑权限信息 查看拥有某个权限的账号 ...
依赖注入接口多实现如何获取指定服务
原为链接 https://www.cnblogs.com/ysmc/p/18794061 在上一个文章中,我们讲过 键控服务 服务,可惜的是这个需要 .NET 8 才能使用,那我们在 .NET 8 之前应该怎么找到我们需要的服务呢,本文给大家讲讲使用特性的方式 本人依旧秉承着短小精悍,废话不多,直接 ...
Ai满嘴顺口溜,想考研?浪费我几个小时
Trae + claude3.7 事情的经过是这样的: 我有个方法代码如下: /// <summary> /// 获取客户端列表 /// </summary> /// <param name="input">查询条件参数,包含搜索、排序和分页信息</param> /// <param name="c ...
开发的设计和重构,为开发效率服务
软件开发有点类似于艺术品的雕刻,需要不断的打磨。在我们基于一套成熟的架构开发一套软件后,往往都还是需要反复的推敲,进行不断的重构优化,使得重复的代码、硬编码等地方越来越少,也使得某些逻辑越来越有弹性化。软件开发和艺术品又有所不同,艺术品可能很容易完工并封刀,而软件开发却是持续的改进,软件最终的持续改... ...
HttpClient 使用(二)流式请求
原文地址:https://www.cnblogs.com/ysmc/p/18780674 近年AI风靡全球,我们日常见到的最多的就是跟AI聊天,极大减少了我们的搜索时间,不过大家也要注意甄别AI回答的正确性,身体不舒服还是老老实实看医生。 AI聊天的输出是逐字输出的,有些小伙伴就很好奇这个是怎么实现 ...
依赖项注入-键控服务
键控服务是指使用密钥注册和检索依赖项注入 (DI) 服务的机制。 通过调用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTransient)来注册服务,与密钥相关联。 使用 [FromKeyedServices] 属性指定密钥来访问已注册的服务。 以往 ...
ASP.NET Core WebApi+React UI开发入门详解
在前段时间,有粉丝反馈能否写一篇基于ASP.NET Core Web Api+React UI进行Web开发的文章,经过查阅相关资料,发现Visual Studio 2022已经集成相关模板,可以在Visual Studio中直接创建项目项目,今天以一个小例子,简述ASP.NET Core Web ... ...
C# - 获取枚举描述 - 使用增量源生成器
前言 C# 获取枚举描述的方法有很多, 常用的有通过 DescriptionAttribute 反射获取, 进阶的可以加上缓存机制, 减少反射的开销。今天我们还提供一种更加高效的方法,通过增量源生成器生成获取枚举描述的代码。这是在编译层面实现的, 无需反射, 性能更高。 本文的演示代码基于 VS20 ...
WinForm 使用 Win32 API 实现的无边框窗口
WinForm 使用 Win32 API 实现的无边框窗口 前言 时光荏苒,转眼已近是2025年了。不知不觉两年多没有研究代码了,在这期间 .NET 10 都快 RC 了,前几天刷手机看到张队公众号里有关于 .NET 9.0 AOT 发布的内容,所以写了这些代码来测试一下 AOT 编译的效果,并评估 ...
dotnet 源代码生成器分析器入门
本文将带领大家入门 dotnet 的 SourceGenerator 源代码生成器技术,期待大家阅读完本文能够看懂理解和编写源代码生成器和分析器 ...
[WPF] 在RichTextBox中输出Microsoft.Extension.Logging库的日志消息
背景 微软的日志库一般是输出到控制台的,但是在WPF中并不能直接使用控制台,需要AllocConsole。 但是这种做法个人觉得不太安全(一关闭控制台整个程序就退出了?)。这时候就需要一个更加友好的方式输出日志。 问题 那如何将日志的内容显示到RichTextBox中? 实现LoggerProces ...
针对于基于surging的dotnetty组件内存泄漏问题
一、概述 前段时间客户碰到基于surging内存泄漏问题,邀请我来现场帮忙解决,对于dotnetty 我一直又爱又恨,因堆外内存DirectByteBufferChunk 中PoolChunk映射分配的16mb始终无法销毁,后面设置优化了dotnetty 环境变量参数,未在同一线程下导致引用计数出现 ...
ASP.NET Core 模型验证消息的本地化新姿势
最近在研究系统本地化的问题,不可避免要实现模型类的验证消息本地化。毕竟这些错误消息是要返回给用户的。 疑问产生 在MVC模型下,我们会使用模型类对请求参数进行绑定和验证。举个例子: public class UserDto { [Required(ErrorMessage = "姓名不能为空")] ...