国内文章

CAP 8.0 版本发布通告 - CAP 7岁生日快乐!

https://www.cnblogs.com/savorboard/p/cap-8-0.html

今天宣布CAP 8.0版本正式发布,恰逢项目七周年及作者生日。七年间,CAP共发布61个版本,在GitHub获得6.3K星标,有108名贡献者,核心包在NuGet上的下载量达640万次。CAP是一种分布式事务解决方案,通过本地消息表保证数据安全,同时可作为EventBus使用。8.0版本主要更新包括全面支持.NET 8,优化Dashboard认证授权,新增配置项以自定义回溯时间窗,改进消费者预取和分组调度配置项的协同工作,NATS支持配置DeliverPolicy,默认为New。此外,修复了多个BUG,包括消息无限重试、Open Telemetry上下文丢失等问题。破坏性改动包括移除Dashboard中的某些配置项。更多信息请查看官方文档。

EF Core助力信创国产数据库

https://www.cnblogs.com/CreateMyself/p/17900180.html

本文讨论了国产数据库的发展,特别是人大金仓和华为高斯数据库,它们都基于PostgreSQL。作者在工作之余将EF Core适配到这些数据库并开源,以便社区共同改进。目前已支持人大金仓EF Core 6.x和华为高斯EF Core 8.0,未来计划支持更多版本。作者鼓励社区贡献而非仅提问题,并强调在处理问题时需要具体的代码示例。

.NET中如何实现高精度定时器

https://www.cnblogs.com/czwy/p/17915333.html

本文探讨了在.NET中实现高精度定时器的方法。首先介绍了定时器的三个核心功能:计时、等待和触发模式,并解释了如何使用Windows系统的API和.NET类来获取高精度时间戳。文章详细讨论了两种等待策略:自旋等待和阻塞等待,以及如何通过系统API调整Windows的计时器精度。最后,提到了多媒体定时器
timeSetEvent
作为实现高精度定时器的一种方法,尽管它已被官方标记为过时,但在精度和稳定性方面仍优于其他方法。

用C#也能做机器学习?

https://www.cnblogs.com/mingupupu/p/17918738.html

本文介绍了如何在C#中使用ML.NET进行机器学习,特别是通过ML.NET Model Builder构建猫狗识别模型。ML.NET是一个适合.NET开发者的免费、开源机器学习框架,支持C#或F#语言。Model Builder提供了一个直观的界面,使得在Visual Studio中生成、训练和部署机器学习模型变得简单,无需深厚的机器学习背景。它还支持AutoML自动选择最佳算法和设置。Model Builder作为Visual Studio扩展,使.NET开发者能够在熟悉的环境中工作,无需依赖云资源或其他服务。

一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器

https://www.cnblogs.com/Can-daydayup/p/17922742.html

本文介绍了WalkingTec.Mvvm(简称WTM),这是一个基于.NET Core的开源快速开发框架,支持多种前端UI,具备代码生成器,旨在提升开发效率。WTM支持前后端分离,降低沟通成本,内置了用户、角色、权限等管理功能,支持单点登录和分布式数据库。技术栈包括LayUI、React、VUE、Blazor等前端技术,以及.NET Core、EF Core、Redis等后端技术。数据库支持MySql、Sql Server、PostgreSQL。WTM的源代码和文档可在GitHub查看,项目已被收录为C#/.NET/.NET Core优秀项目。DotNetGuide技术社区提供.NET相关资源和交流平台,鼓励开发者分享经验和技术问题。

简便实用:在 ASP.NET Core 中实现 PDF 的加载与显示

https://www.cnblogs.com/powertoolsteam/p/17911303.html

本文讲述了如何在ASP.NET Core中加载和显示PDF文件。首先,使用Visual Studio创建ASP.NET Core Web应用程序,并选择.NET Core 6.0作为目标框架。然后,安装GrapeCity.Documents.Pdf依赖包。接着,在Index.cshtml.cs页面中定义服务器端代码生成PDF文件,包括添加图片、文本格式设置、添加标题和项目列表。最后,将生成的PDF文件保存到Web根目录。文中提供了详细的代码示例和最终效果的截图。

Semantic Kernel 正式发布 v1.0.1 版本

https://www.cnblogs.com/shanyou/p/17924196.html

微软发布了Semantic Kernel的.NET 1.0.1版本,这是一个开源SDK,结合了AI服务和传统编程语言,如C#和Python,以创建AI应用程序。它作为AI编排层,与Microsoft AI模型堆栈和Copilot AI助手配合。新版本提供了文档,介绍了如何创建能与用户互动的AI代理,执行任务如自动化流程。文档还涵盖了构建AI代理的核心组件,如插件、规划器和角色。Semantic Kernel现在稳定,未来将专注于AI连接器、Memory连接器和Agent抽象。微软鼓励社区参与AI连接器的开发,核心团队将在假期后审查社区贡献。

记一次 .NET 某药厂业务系统 CPU爆高分析

https://www.cnblogs.com/huangxincheng/p/17916751.html

本文讲述了作者帮助朋友分析程序CPU使用率过高的问题。首先,通过procdump工具抓取dump文件,然后使用Windbg的!tp命令确认CPU利用率为88%。通过!cpuid命令发现服务器只有4个CPU核心,性能较弱。进一步分析发现程序有451个线程,其中443个是后台线程,多数线程通过new Thread创建而非线程池。使用~*e !clrstack命令检查线程栈,发现大多数线程在执行Thread.SleepInternal。作者最终意识到频繁的上下文切换可能是导致CPU爆高的原因,特别是在Loop方法中发现了大量的Sleep(1)调用。

升讯威在线客服系统的并发高性能数据处理技术:超强的 SignalR

https://www.cnblogs.com/sheng_chao/p/17921167.html

本文介绍了作者在业余时间开发的升讯威在线客服系统,该系统免费开源且用户众多。系统通过客户的压力测试,表现出色,无异常掉线,消息实时到达。作者计划分析系统的高性能并发技术,首篇聚焦SignalR技术。SignalR是ASP.NET Core的实时Web功能库,适用于需要服务器实时更新的应用,如游戏、社交网络等。它支持WebSockets、Server-Sent Events和长轮询等传输技术,自动选择最佳传输方法。SignalR使用中心(Hub)进行通信,允许客户端和服务器互调方法,支持JSON和MessagePack协议。作者还展示了如何在客服系统中创建SignalR中心,配置服务器,并添加客户端代码以实现实时通信。

Net 高级调试之十四:线程同步的基础知识和常见的同步原语

https://www.cnblogs.com/PatrickLiu/p/17910805.html

本文是《Net 高级调试》系列的第十四篇,重点介绍了多线程中锁的底层实现原理,而非其使用方法和API。文章强调了对.Net框架底层理解的重要性,有助于更好地进行调试。调试环境包括Windows 10专业版、Windbg Preview、Visual Studio 2022和.Net Framework 4.8。基础知识部分讲述了线程同步原语,包括C#、CLR和OS层的线程表示,以及不同类型的锁,如AutoResetEvent、Semaphore、Monitor和ThinLock。最后,文章提供了源码调试的具体过程,通过实际代码来验证所学知识。

将Abp默认事件总线改造为分布式事件总线

https://www.cnblogs.com/jevonsflash/p/17917031.html

本文介绍了分布式事件总线的原理和实现。本地事件总线通过Ioc容器和事件订阅表实现事件的注册与触发。分布式事件总线通过中间件如RabbitMQ、Kafka、Redis转发事件,与本地事件总线兼容。自动订阅和事件转发功能确保本地事件注册时同时订阅分布式事件,并在本地事件触发时将消息转发到分布式总线。消费端接收分布式事件消息后,解析类型并触发本地事件,由本地事件处理器完成处理。

.NET周刊【12月第2期 2023-12-13】

https://www.cnblogs.com/InCerry/p/dotnet_week_23_12_2.html

本文汇总了.NET领域的多篇文章。首先介绍了使用.Net6的miniapi开发简洁API的方法,包括数据库操作和Swagger配置。接着分享了C#/.NET/.NET Core的优秀项目和框架,如CAP、ZEQP.WMS和HandyControl,以及.NET平台下的网络爬虫框架DotnetSpider。此外,C#有望成为2023年度编程语言,TIOBE榜单显示其增长迅速。文章还分析了博客园频繁崩溃的原因,探讨了SQL Server的性能问题。另外,.NET8的AOT编译性能优化被详细讨论,包括减少可执行文件大小和提升性能。还有对.NET内存管理术语的解释,以及使用.NET 8开发个人网盘项目的介绍。最后,ML.NET 3.0的发布强化了深度学习和数据处理能力。

.NET周刊【12月第1期 2023-12-06】

https://www.cnblogs.com/InCerry/p/dotnet_week_23_12_1.html

本文汇总了多篇关于.NET和相关技术的文章。介绍了openEuler操作系统的多处理器架构支持和.NET社区合作机会;MAUI Blazor应用中显示本地媒体文件的新方法;Visual Studio 2022 17.8版本的性能提升;.NET中六种定时器的使用场景;HtmlAgilityPack库在.NET中解析HTML的功能;ASP.NET Core Web API中设置Json响应格式的方法;Cron表达式在Unix系统中的应用及在.NET中的解析执行;VS2022中调试.Net源码的配置方法;以及C#中只读结构体成员可能导致的问题。这些内容涵盖了操作系统支持、开发工具更新、编程技巧和潜在BUG的警示,对.NET开发者具有实用价值。

Kernel Memory 入门系列:Kernel Memory Service

https://www.cnblogs.com/xbotter/p/kernel_memory_service.html

本文介绍了Kernel Memory Service,一个GitHub上的项目,提供独立部署后台和接口服务。首先通过Git Clone下载源码,然后执行setup脚本或命令进行初始化,配置项存储在appsettings.json中。配置完成后,运行run脚本启动服务,本地运行可通过Swagger页面访问。C#用户可用MemoryWebClient包调用接口。项目还提供了工具脚本,如启动Qdrant和RabbitMQ服务,初始化和启动Kernel Memory Service,上传文件和提问等功能。

封装Detours用于Python中x64函数hook

https://www.cnblogs.com/kanadeblisst/p/17922099.html

本文介绍了微软的Detours框架,它支持多种处理器架构,用于实现API hook。文中详细描述了如何在x64环境下编译Detours,包括解决编译错误和生成Debug版本的方法。还提供了使用Detours进行函数hook的代码示例,并说明了如何在项目中引入Detours的头文件和库文件。最后,作者推荐了使用预处理器指令在代码中直接引入库文件的方式。

Kernel Memory 入门系列:快速开始

https://www.cnblogs.com/xbotter/p/kernel_memory_quick_start.html

本文介绍了如何快速开始使用Kernel Memory,包括通过NuGet安装包、构建内存实例、内容导入和问答查询。构建时,可配置OpenAI或Azure OpenAI服务,支持自定义文本生成和Embedding模型。内容导入支持文件路径、文件流、文档集合和URL方式。问答功能通过调用
AskAsync
方法实现,可获取答案及相关文档信息。

使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理

https://www.cnblogs.com/wuhuacong/p/17921357.html

本文介绍了如何使用代码生成工具Database2Sharp和SqlSugar开发框架,快速开发Winform、WPF和Vue3+ElementPlus前端应用。通过通用业务编码规则的管理功能,可以统一生成和维护各种编码,如订单号等。文章展示了数据库设计,后端接口,以及Winform和WPF界面的生成过程。最后,介绍了如何利用生成的Web API控制器和Service层接口,快速实现Vue3前端界面的开发。

称重驱动二次开发教程

https://www.cnblogs.com/yizhuqing/p/17921902.html

本文介绍了如何通过二次开发快速集成新的电子秤驱动到系统。首先,需要了解系统介绍并下载相关软件。接着,创建一个控制台工程,并添加引用DDS.IOT.Weight.exe。然后,新建一个继承自WeightBase的电子秤类,并实现虚方法。最后,通过后台任务模拟电子秤,定时输出随机重量。这些步骤可以帮助开发者快速实现电子秤驱动的集成。

Blazor入门100天 : 自做一个支持长按事件的按钮组件

https://www.cnblogs.com/densen2014/p/17915285.html

本文继续介绍了博主的系列博客,提供了配套源码和在线演示demo。文章详细说明了如何创建一个支持长按功能的Blazor组件,包括设置长按触发的回调委托、点击事件处理、判断是否触摸设备等。通过代码示例,展示了组件的实现过程和功能。

AntDesignBlazor示例——Modal表单

https://www.cnblogs.com/known/p/17923002.html

本文是AntDesign Blazor的入门教程,分享了如何创建和操作Modal表单和Table。首先,介绍了在Weather.razor文件中添加新增按钮和Modal组件,设置属性并绑定事件。接着,创建WeatherForm组件,包含日期、温度和摘要字段,并在WeatherForecast模型类中添加必填特性。然后,实现了Modal表单的数据编辑功能,包括绑定Model对象、保存数据的事件处理。最后,教程展示了如何在Table中添加操作列,实现编辑和删除功能,并在WeatherService类中添加相应的方法。教程还提供了示例代码仓库链接和视频教程,方便学习和参考。

主题

宣布 .NET Aspire 预览版 2 - .NET 博客

https://devblogs.microsoft.com/dotnet/announcing-dotnet-aspire-preview-2/

.NET Aspire Preview 2 已发布。

它包括各种改进,例如改进仪表板的各种视图、改进运行容器时的配置自定义以及添加 MySQL 和 MongoDB 等组件。

OpenSilver 2.0 简介 - OpenSilver

https://opensilver.net/announcements/2-0/

OpenSilver 2.0 已经发布。

此版本包括对 Visual Basic .NET 的支持、与 Blazor、React 和 Angular 的集成、设计时实时 XAML 预览、对高级布局系统的支持、更快的基于 WebView 的模拟器以及各种性能改进。

发布 WCF 8.0 · dotnet/wcf

https://github.com/dotnet/wcf/releases/tag/v8.0.0-rtm

WCF客户端8.0已发布。

除了删除了接收配置名称的 API 之外,此版本没有重大变化,但客户端支持政策是自发布之日起提供三年支持(直至 2026 年)。对先前版本 WCF Client 6.0 的支持将于 2024 年 11 月结束。

版本 2.3.3 · mysql-net/MySqlConnector

https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.3

MySQL Connector for .NET 2.3.3/2.3.2 已发布。

此版本包括改进的架构支持和多个错误修复。

ReSharper 和 Rider 2023.3.2 – 错误修复已落地! | .NET 工具博客

https://blog.jetbrains.com/dotnet/2023/12/20/resharper-and-rider-2023-3-2-bug-fix/

ReSharper / Rider 2023.3.2 已发布。

此版本修复了自 2023.3 版本以来 ReSharper 和 Rider 中的各种错误。

Win11 主题的 WPFUI 协作 · dotnet/wpf · 讨论 #8533 · GitHub

https://github.com/dotnet/wpf/discussions/8533

宣布与 WPFUI 合作将 Windows 11 Fluent UI 主题引入 WPF。

我们的代码覆盖率工具有哪些新增功能? - .NET 博客

https://devblogs.microsoft.com/dotnet/whats-new-in-our-code-coverage-tooling/

关于代码覆盖率工具(Microsoft.CodeCoverage)的新功能。

支持具有静态检测的所有平台、支持新的报告格式、引入 dotnet-coverage 命令、自动解决方案合并、性能改进等等。

2023 年降临节日历

标签: none

添加新评论