- 博客(118)
- 资源 (5)
- 收藏
- 关注
原创 HandyControl Dialog 基础使用技巧
本文介绍了如何在 WPF 中使用 HandyControl 的 Dialog 控件创建自定义弹窗。主要内容包括: 基本使用方法:通过 Dialog.Show() 显示自定义用户控件作为弹窗内容,并提供了示例代码和效果图。 弹窗父级窗口机制:详细解析了 Dialog 控件的两种父级查找方式 - 默认查找当前活动窗口或通过 Token 指定目标窗口。 Token 指定功能:演示了如何通过定义常量 Token 来精确控制弹窗在特定窗口中显示。
2026-01-01 08:00:00
702
原创 Dotnet 本地部署包快速构建为Docker镜像
本文介绍了基于Docker的.NET 9.0 WebAPI项目部署方案。主要内容包括: 项目结构说明:采用Docker+Compose方式部署,详细说明了镜像构建目录和容器运行目录的组织结构 部署流程:从基础镜像选择到最终镜像构建,使用aspnet:9.0-alpine3.22作为基础镜像 配置说明:包含Dockerfile、.dockerignore等配置文件的编写规范 项目示例:演示了一个包含Swagger的WebAPI项目在容器中的部署方式 构建命令:给出了具体的镜像构建指令示例.
2025-12-08 07:30:00
450
原创 Vue本地部署包快速构建为Docker镜像
本文介绍了使用Docker部署Vue-Vben-Admin前端项目的完整流程。主要内容包括: 目录结构说明:详细描述了镜像构建目录和容器运行目录的组织方式,包含Dockerfile、Nginx配置文件等关键文件。 部署说明:使用Vue-Vben-Admin作为案例项目,介绍前端部署包和Nginx配置,包括nginx.conf和default.conf的详细配置内容。 构建过程:提供Docker镜像构建命令和Dockerfile配置说明,以及.dockerignore文件的使用。
2025-12-07 08:30:00
805
原创 HandyControl 3.5.x 版本 ListViewItem不显示问题
摘要: 在HandyControl从3.4.x升级到3.5.x时,ListView控件出现内容无法显示的问题,可视化树中无子节点。经分析发现是3.5.0版本的ListView样式缺失关键模板定义导致。解决方案包括: 升级到3.6.x版本(已修复); 对于无法升级的用户,可手动合并3.6.x的ListView样式资源,覆盖默认样式。 通过对比代码差异,确认问题源于3.5.0版本的Theme.xaml中ListViewBaseStyle未正确继承父类模板,修复后控件正常渲染数据。
2025-12-06 17:39:21
836
原创 基于NCrontab实现Covarel扩展秒级任务调度
本文介绍了如何基于 NCrontab 库为轻量级调度框架 Coravel 扩展秒级任务调度能力。由于 Coravel 原生仅支持 5 位分钟级 cron 表达式,无法处理包含秒字段的 6 位表达式,作者通过引入 NCrontab(一个仅提供 cron 解析与时间计算、无调度功能的 .NET 标准库),构建了混合调度系统。该方案采用外观模式,设计了 HybridScheduler 作为统一入口,自动识别 cron 表达式位数:6 位交由自研的 SecCrontabSchedulerEngine。
2025-12-05 22:20:59
722
原创 Coravel 自动加载Invocable调度任务
本文探讨了在Coravel中实现自动化任务调度的解决方案。通过动态程序集扫描和自定义特性,实现了任务类的自动注册和调度配置。文章详细介绍了如何: 使用AssemblyManager获取所有实现IInvocable接口的类 通过ScheduledJobAttribute特性配置Cron表达式 自动将任务类注册到DI容器 动态配置调度逻辑 这种方法避免了手动注册和配置每个任务,提高了开发效率。关键代码展示了如何扫描程序集、自动注册服务类型以及动态设置调度周期,最终实现了任务调度的全自动化管理。
2025-11-28 08:00:00
508
原创 HandyControl 色系管理工具
本文介绍了一个基于HandyControl的换肤工具,主要用于自定义色系皮肤管理。该工具包含以下核心功能:加载/编辑现有色卡、应用修改后的色系、保存为新配色方案,并支持色系列表的新增与删除。文章展示了完整的操作流程,包括色系切换、颜色编辑、方案保存和删除等具体功能演示。项目采用MVC架构,包含颜色服务接口、主题服务接口等核心组件,通过替换ResourceDictionary实现动态换肤效果。该工具可方便开发者快速创建和修改WPF应用程序的配色方案,提升界面定制效率。
2025-11-16 19:08:02
1021
原创 Windows 部署 Qdrant.exe 服务运行后访问 Web UI 提示 404
本文介绍了在Windows系统中本地运行Qdrant向量搜索引擎遇到的问题及解决方法。主要步骤包括:下载Qdrant Windows版本和源码包,解压后启动服务时发现Web UI无法访问。通过检查发现缺少静态资源文件夹,从Qdrant-web-ui仓库下载前端部署包,将其内容放入新建的static目录后问题解决。该过程展示了如何在不使用Docker的情况下手动部署Qdrant服务,并强调了查阅官方文档和GitHub Issues对于问题排查的重要性。
2025-11-13 07:42:06
472
原创 (二) Dotnet使用Microsoft.Agents.AI生成结构化输出
本文对比了不同AI模型的结构化输出实现方案。支持结构化输出的模型(如ChatGPT)可通过JSON Schema和ResponseFormat配置直接生成结构化响应。对于不支持该功能的模型(如DeepSeek、Qwen),建议采用两种替代方法:通过精确设计的提示词约束输出格式,或利用Function Call机制包装响应。文中详细阐述了普通响应和流式响应的处理逻辑,并提供了适配不同模型特性的代码示例,为开发者选择实施方案提供参考。
2025-11-10 08:00:00
683
原创 (一) Dotnet中初识Microsoft.Agents.AI
摘要:本文介绍了微软开源开发工具包Microsoft Agent Framework,它整合了语义内核和AutoGen项目,支持构建AI代理和多代理工作流。文章详细说明了框架功能、抽象层依赖关系,并通过代码示例展示如何创建代理实例、配置对话选项及实现工具调用。该框架为开发交互式、可靠的AI应用程序提供了灵活的基础组件。
2025-11-09 08:45:00
1465
原创 Minio使用mc的常用操作
摘要:2025年中旬起,MinIO社区版console管理端将移除管理权限功能,用户需通过命令行工具mc进行操作。本文介绍了mc常用命令:1)创建服务别名mc alias set;2)查看服务信息mc admin info;3)目录管理mc ls;4)账户管理mc admin user add;5)权限查询mc anonymous get;6)策略管理(创建JSON策略文件并通过mc admin policy create添加)。最后说明如何通过mc admin policy attach为用户/组附加策略
2025-11-08 09:00:00
321
原创 WPF中引入Host相关配置
本文介绍了如何将WPF项目升级为使用.NET较高版本的核心组件,包括依赖注入、Host和后台任务等。通过修改项目文件禁用默认应用定义,添加自定义主函数AppHost.cs实现服务注册和依赖注入。配置appsettings.json环境文件,并设置调试环境变量。在App和MainWindow中演示了日志注入功能,最终实现统一编程风格,不区分前后端代码。运行效果显示日志能正确输出应用启动和按钮点击事件。
2025-11-07 07:45:00
397
2
原创 Windows 使用Mongosh创建管理与普通账户
本文介绍了Windows系统下安装解压版MongoDB后如何配置安全访问权限。首先需要在未启用认证的情况下创建管理员账户,包括连接mongosh、切换到admin数据库、执行创建用户命令等步骤。接着修改mongod.cfg配置文件,添加security.authorization配置以启用认证,并重启服务。然后演示了如何通过认证方式重新连接,以及如何创建普通用户账户。最后提供了第三方应用程序通过连接字符串访问MongoDB的格式说明,并提示了特殊字符需要进行URL编码转换的注意事项。全文涵盖了MongoDB
2025-11-06 21:52:11
238
原创 (四) Dotnet中MCP客户端与服务端交互通知日志信息
摘要 文章介绍了一个MCP客户端的代码改造过程,主要优化了调试功能。改造内容包括:1)创建日志工厂配置客户端日志输出;2)设置客户端选项(名称、版本、能力等);3)构建McpClient实例并注册通知处理器;4)列出所有可用工具和资源;5)实现交互式工具调用功能,包括参数输入验证和结果输出。该改造使客户端能够更方便地进行调试和工具调用测试。
2025-11-03 07:30:00
636
原创 Dotnet使用Aspire抓取MCP两端交互数据
本文解决了MCP Server与Client之间交互日志查看不全的问题。通过分析发现系统默认只输出Information级别日志,而实际交互数据需要Trace级别。解决方案是在日志配置中单独设置ModelContextProtocol程序集的日志级别为Trace。修改后重新运行,即可在控制台和Aspire面板中查看到完整的JsonRpc交互数据,包括请求参数和响应内容,满足了对交互数据进行详细监控的需求。关键步骤包括:1)识别日志输出不足的原因;2)针对性设置特定程序集日志级别;3)验证日志输出效果。
2025-11-01 17:03:10
269
原创 Dotnet使用System.Xml.Serialization处理Xml序列化
XML序列化配置与应用 本文介绍了C#中使用XmlSerializer进行XML序列化的配置技巧。主要内容包括: 命名空间管理:通过常量类定义XML命名空间,便于统一管理和引用 节点定义:使用[XmlRoot]、[XmlAttribute]和[XmlElement]特性配置根节点和子节点 数据填充:构建实例数据并设置时间戳属性 序列化配置: 通过XmlWriterSettings设置缩进、编码格式 解决编码声明问题(UTF-16转UTF-8) 自定义UTF8Encoding实现大写编码声明优化输出等技巧。
2025-10-31 23:25:55
386
1
原创 Dotnet中处理Aspire控制台输出乱码
摘要:当程序作为Aspire.Host关联项目时,控制台输出出现中文乱码问题,但结构化日志显示正常。解决方法有两种:1. 修改系统区域设置,勾选"使用Unicode UTF-8提供全球语言支持"并重启;2. 在程序代码中添加Console.OutputEncoding = System.Text.Encoding.UTF8设置控制台输出编码为UTF-8。第二种方法适用于代码可控的情况,能有效解决控制台中文乱码问题。
2025-10-30 08:00:00
224
原创 (三) Dotnet使用MCP SDK连接MCPServer
本文介绍了如何通过stdio方式实例化创建MCPClient客户端并连接EchoMCPServer服务端。主要内容包括:1)客户端项目配置需引用ModelContextProtocol;2)服务端代码调整为使用Host.CreateApplicationBuilder并添加日志、HttpClient和Mcp服务配置;3)客户端使用StdioClientTransport进行连接,需配置可执行文件路径和工作目录;4)展示了工具和资源列表的输出效果。该方式通过进程间stdio实现交互,适用于本地调试场景。
2025-10-25 06:30:00
879
原创 Docker部署EMQX 5.8.8
本文介绍了如何通过Docker在本地部署EMQX MQTT消息服务器。主要内容包括:1)创建本地数据目录时需注意权限问题;2)单节点部署的配置方法,包括设置hostname和节点名称;3)通过Docker运行EMQX容器并验证运行状态;4)访问18083端口的管理界面,初始账号为admin/public;5)创建数据源和客户端认证账户;6)使用MqttX客户端测试连接。文中提供了详细的命令和配置示例,帮助用户快速搭建可用的MQTT服务环境。
2025-10-22 06:30:00
466
原创 Dotnet通过Http2解决CVE-2025-55315高危漏洞
ASP.NET Core默认的Kestrel服务器被曝CVE-2025-55315高危漏洞(评级9.9)。修复方案包括升级运行时/SDK版本、改用HTTP/2协议,或添加Nginx/IIS前置代理。文章详细演示了两种防护措施:1)通过Nginx配置HTTPS和HTTP/2,需1.9.5+版本支持;2)Kestrel直接启用HTTPS,使用dotnet dev-certs生成证书。两种方案均需正确配置证书路径和端口。官方建议优先升级.NET 8/9/10版本,低版本系统可考虑改用HTTP/2协议增强安全性
2025-10-18 23:57:04
455
原创 (二) Dotnet中MCP配置遥测数据与Aspire集成
本文介绍了在.NET 8.0的Asp.Net Core项目中配置遥测数据的方法。通过引入OpenTelemetry相关NuGet包,开发者可以采集应用运行时的追踪、度量和日志数据。文章详细展示了两种数据导出方式:使用OTLP协议将数据推送到可视化服务(如Jaeger、Prometheus),或通过控制台直接输出查看(需替换为ConsoleExporter)。针对本地调试场景,还介绍了使用Aspire工具实现非存储可视化展示的方案,为构建可观察的分布式应用提供了实用指导。
2025-10-17 06:30:00
1294
原创 (一) Dotnet使用MCP的Csharp SDK
微软推出模型上下文协议(MCP)标准化AI应用与外部工具集成,支持通过stdio、HTTP/SSE等多种传输方式。开发者可通过NuGet包快速集成MCP SDK,使用C#构建服务端。MCP支持文本、文件、数据库等各类资源交互,并提供调试工具npx @modelcontextprotocol/inspector进行测试。该协议能增强AI模型的上下文感知能力,生成更精准的响应。 (摘要字数:150字)
2025-10-15 22:10:47
1002
原创 (六) Dotnet在AI控制台案例启用遥测数据与工具函数调用
本文介绍了如何利用OpenTelemetry实现数据遥测和工具调用功能。在数据遥测部分,通过添加OpenTelemetry.Exporter.Console包并配置TracerProvider,实现遥感数据输出到控制台。在工具调用部分,演示了如何创建自定义函数(如天气查询)并注册到会话配置中,通过UseFunctionInvocation实现函数调用集成。这两项技术可以帮助开发者在应用中实现监控和扩展功能,文末运行结果截图验证了实现效果。
2025-10-11 22:25:48
198
原创 (五) Dotnet对AI控制台添加构造工厂类
摘要 本文介绍了AI模型服务配置的优化方案。原始方案通过环境变量读取API配置,存在多模型支持不足和依赖注入固化的问题。新方案采用JSON配置文件管理多个AI平台及模型,定义AiPlatformConfig和ModelConfig类存储配置信息。通过实现IModelServiceFactory接口的工厂模式,支持动态获取不同模型实例。该方案解决了多平台多模型的管理问题,提升了配置的灵活性和可扩展性,同时保持与OpenAI兼容服务的对接能力。关键改进包括:配置集中管理、服务动态注入、多模型支持等。
2025-10-07 22:48:47
502
原创 (四) Dotnet为AI控制台添加日志输出
本文介绍了如何在ChatClient项目中配置日志功能。通过UseLogging()扩展方法为ChatClientBuilder添加日志支持,并设置两个日志配置文件:appsettings.json和appsettings.Development.json,配置不同环境下的日志级别。同时设置了环境变量DOTNET_ENVIRONMENT为Development以启用开发环境日志配置。最终实现了在控制台输出调试日志,便于开发过程中的问题排查。文中还展示了完整的代码实现,包括ChatClient的初始化、日志配
2025-10-07 16:23:09
270
原创 (三) Dotnet为AI控制台对话添加依赖注入等集成
本文介绍了如何通过依赖注入和缓存优化来管理OpenAI的ChatClient实例。首先,通过Microsoft.Extensions.Hosting实现依赖注入,注册IChatClient服务并添加内存缓存功能。其次,在对话配置方面,详细说明了可设置的参数如Temperature、MaxOutputTokens等,以优化模型响应。文章还展示了代码实现示例,包括服务注册、缓存添加和参数配置的具体方法,帮助开发者提高开发效率并降低资源消耗。
2025-10-05 23:11:26
441
原创 (二) Dotnet接入AI通过Response创建一个简单控制台案例
本文介绍了如何通过IChatClient实现多轮对话功能。通过GetResponseAsync()方法传入消息列表可以设置对话上下文,代码示例展示了如何使用ChatMessage构建会话历史。文章还简要说明了ChatOptions的可配置参数,最后实现了一个英语助手的控制台应用案例,该应用能保存对话历史并持续交互。示例演示了如何将用户输入和大模型响应加入消息列表,实现连贯的多轮对话体验。
2025-10-04 21:43:24
600
原创 (一) Dotnet通过OpenAI方式接入DeepSeek
本文介绍了如何在.NET 8控制台项目中集成DeepSeek API(兼容OpenAI接口)进行AI对话功能。主要内容包括:1)创建.NET 8控制台项目并添加Microsoft.Extensions.AI相关NuGet包;2)在DeepSeek平台申请API Key并配置到环境变量;3)代码实现通过IChatClient调用DeepSeek API进行非流式对话。关键步骤包含API配置、环境变量设置和客户端初始化,最终实现了简单的AI问答功能。
2025-10-04 20:15:52
392
原创 Ubuntu 中获取指定软件依赖安装包
本文介绍了在Ubuntu 22.04系统中为离线环境准备软件安装包及其所有依赖的方法。首先在有网络的环境中安装apt-rdepends工具,创建目录存放依赖包。然后通过apt-get download命令自动解析并下载目标软件(以build-essential为例)的全部非虚拟依赖包。下载完成后,将生成的.deb文件拷贝到离线环境,使用pkg -i *.deb命令批量安装。操作时需确保本地和离线环境的系统版本一致,以避免兼容性问题。这种方法有效解决了离线环境下软件安装的依赖问题。
2025-10-01 19:52:51
308
原创 自定义含工具包`Ubuntu22.04.5.iso`镜像
本文介绍如何定制Ubuntu 22.04 ISO镜像,创建一个包含开发者工具(如make、gcc等)的离线安装源。主要步骤包括:下载原始ISO镜像、提取内容、修改文件系统(通过chroot环境安装开发工具并移除GUI)、重建ISO镜像。文章提供了详细的shell脚本,涵盖权限处理、虚拟文件系统挂载、squashfs重建等关键操作,最终生成一个精简的开发者专用ISO镜像。该方法可避免逐个安装依赖的麻烦,适合离线环境使用。
2025-09-30 22:47:17
529
1
原创 HandyControl 解决不全局引入控件部分内容不显示问题
摘要 文章分析了WPF中使用HandyControl控件库时,因未按官方文档在App.xaml中全局引入资源文件,导致部分控件(如Growl)样式丢失的问题。通过源码分析发现Growl控件的图标资源需要通过Application.Current全局查找,而窗口局部引入资源会导致资源查找失败。解决方案是创建本地Themes/Basic目录,将必要的资源文件(Brushes.xaml、Geometries.xaml等)复制到项目中,并在App.xaml中全局引用这些资源,确保控件能正确加载所需样式资源。
2025-09-02 23:01:39
964
1
原创 Windows 使用 Compass 访问MongoDb
MongoDB Compass 是 MongoDB 官方提供的图形化管理工具,支持数据库浏览、架构可视化、性能监控和复杂查询等功能。文章介绍了下载方式(官网提供免安装版)、基础使用方法(包括创建数据库连接、新建数据库和数据集)、内嵌命令行功能以及系统配置路径(通过View-Settings菜单)。Compass 界面直观,可执行文件可直接放入MongoDB的bin目录方便使用,适合开发者快速上手MongoDB数据库管理。
2025-09-02 00:00:23
480
原创 Windows 安装配置解压版MongoDb
本文详细介绍了在Windows系统上部署MongoDB的完整步骤。首先从官网下载社区版安装包,解压后配置数据存储路径和日志目录;接着创建配置文件mongod.cfg并启动服务;然后下载MongoDB Shell进行客户端连接测试;最后通过注册Windows服务实现开机自启。文中提供了具体的命令操作和配置示例,确保读者能够顺利完成MongoDB的安装部署。整个过程包括基础环境准备、服务启动验证、客户端连接测试和服务注册等关键步骤,形成一个完整的Windows平台MongoDB部署指南。
2025-09-01 22:24:57
369
原创 Prometheus之启用--web.enable-remote-write-receiver
摘要:当Prometheus作为时序数据库无法接收Nightingale等三方监测平台数据时,需检查是否启用了远程写接收器配置。解决方案是在启动命令中添加--web.enable-remote-write-receiver参数,确保平台数据能够正常写入。完整启动命令包含配置文件路径、数据存储路径及远程写接收器启用参数。
2025-08-31 18:19:15
465
基于TCP用于模拟UDP广播的Socket服务端程序
2017-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅