自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 WPF 源码本地编译

本文主要讲解了对dotnet/wpf源码进行本地编译的过程,介绍环境以及最后生成nuget包。

2025-11-19 08:00:00 689

原创 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

原创 Nginx 1.29.2源码通过Windows进行跨平台编译

主要介绍nginx 1.29.2版本通过msys2进行windows跨平台编译。

2025-10-19 16:26:14 669

原创 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

原创 Redis基础安装

Redis基础安装和源码编译。

2025-10-01 00:59:25 985

原创 自定义含工具包`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

原创 Docker在Linux中离线部署

Linux系统中离线部署Docker,实现Docker的部署和服务配置。

2025-09-21 23:06:47 593

原创 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

原创 Docker中使用Compose配置现有网络

Docker中使用Compose配置现有网络

2025-08-31 17:21:02 248

原创 Docker中Mysql容器忽略大小写

Docker容器配置实现表名大小写不敏感。

2025-08-31 17:01:45 613

运维-Ubuntu-Redis-离线编译安装依赖包

Ubuntu 22.04.5 操作系统中进行redis源码编译安装需要的本地完整软件依赖包。

2025-10-01

基于TCP用于模拟UDP广播的Socket服务端程序

该Demo基于TCP用于模拟UDP广播的Socket服务端程序,能够实时监听基于TCP协议的socket客户端的连接和断开,可以用于简单的实现服务端向多客户端发送信息,进行交互

2017-06-24

WPF日历控件简单样式-1种

该日历控件为WPF控件,样式为个人业余时间制作,希望能给广大的初学者一些设计上和学习上的帮助,源码并不仅仅是日历控件样式

2018-05-06

开发人员日积月累的工具清单v20210803版本

改工具清单适合,毕业学生,从事软件开发的工作者

2021-08-03

MVC学习笔记.xmind

适合C#希望学习MVC的初学者

2021-08-03

C#基础学习与知识关系树

主要包含个人学习C#语言时期基本的相关记录

2021-08-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除