.NET周刊【8月第1期 2024-08-04】

💡 原文中文,约12600字,阅读约需30分钟。
📝

内容提要

这篇文章介绍了多篇关于.NET开发的技术文章,包括EF Core性能优化、高性能缓冲队列实现、权限工作流框架、C#托管内存与非托管内存、Blazor入门等。

🎯

关键要点

  • EF Core性能优化技巧:使用DbContext实例池和拆分查询来优化性能。
  • 高性能缓冲队列实现:BufferQueue支持多线程并发操作,解决生产者和消费者速度不一致的问题。
  • 权限工作流框架:基于.NET的权限管理框架,支持多种ORM框架和数据库,适合中小企业。
  • C#托管内存与非托管内存:讨论C#和C++内存管理的差异,介绍如何在C#中申请非托管内存。
  • Blazor入门:介绍Blazor的关键概念和实现方法,提供学习资料和课程推荐。
  • 去持久化聊天软件:基于EasyTcp4Net开发的聊天程序,包含多种功能和事件处理机制。
  • CAP特性介绍:全面介绍CAP的功能,适用于分布式事务和消息处理。
  • SmartSQL数据库文档工具:简化数据库文档查询和生成,支持多种数据库和文档格式。
  • Serilog日志推送ES:展示在.NET 8项目中使用Serilog进行日志记录和推送的实现。
  • FluentResults库:优化方法返回结果的处理,提高代码可读性与维护性。
  • C#集合特点:介绍C#中各种类型集合的特点,区分非泛型和泛型集合。
  • SourceGenerator优化:探讨如何优化Dapper AOT性能,使用BenchmarkDotNet进行测试。
  • Fluent设计风格WPF控件库:介绍基于Fluent设计风格的WPF UI控件库及其使用方法。
  • C#多线程资源访问控制:介绍几种同步机制及其适用场景。
  • 支付宝退款接口实现:介绍在.NET平台上集成支付宝退款接口的步骤和注意事项。
  • Phi-3 SLM与ONNX结合:介绍Phi-3模型在C#中的应用及其实现方法。
  • RAG实践:结合检索技术和生成模型用于自然语言处理任务的实现步骤。
  • Blazor Web应用Auto模式实现:介绍前后端共用项目及Http请求动态代理的实现。
  • GDI截图实现:通过GDI获取窗口或屏幕截图的详细代码示例。
  • 云原生.NET Aspire 8.1更新:新增对构建容器和Python的支持,提升开发体验。
  • 命令模式在架构设计中的应用:探讨命令模式的优势及具体实现。
  • Ollama对话模型使用:介绍在本地离线场景中使用Ollama模型的方法。
  • 全栈开发实践:结合Asp.Net Core和Playwright进行全栈开发的经验分享。
  • SourceGenerator性能测试:对比生成代码与动态生成代码的性能差异。
  • Admin.NET通用权限框架:基于.NET 8开发的权限框架,适合中小企业快速开发。
  • Alba测试AspnetCore项目:介绍在AspnetCore中使用Alba进行集成测试的方法。
  • 多语言开发中的问题:探讨文化差异对多语言开发的影响及解决方法。
  • IdentityServer安全补丁:修复开放重定向漏洞并总结应对经验。
  • grpc-dotnet v2.65.0发布:包括版本检查和线程池改进等功能。
  • Azure容器应用支持ASP.NET数据保护:简化多副本运行时的数据保护配置。
  • 使用ML.NET检测异常:介绍如何使用ML.NET实现异常检测。
  • 使用C#和Ollama运行Phi-3:结合语义核和Ollama在本地环境中运行模型。
  • ASP.NET Core高级路由技术:介绍大规模应用程序中的路由控制实现模式。
  • VSTO加载项的msi分发:提供打包和分发VSTO外接程序的步骤说明。
  • VSIX包签名:介绍如何使用sign命令行工具对VSIX包进行签名。
  • PlantUML Markdown渲染扩展:实现Markdown中呈现PlantUML图像的扩展。
  • Akka.NET中的分布式系统问题:分享处理困难分布式系统问题的经验。
  • C#单例模式实现:探讨单例模式的实现及验证方法。
  • 反向地理编码资源和容器启动依赖项:使用.NET Aspire进行地理编码的说明。
  • ASP.NET Core运行状况检查:实施与Entity Framework Core结合的运行状况检查。
  • Avalonia UI DataGrid使用:介绍如何使用Avalonia的DataGrid增强应用程序。
  • 创建源代码NuGet包:介绍如何创建仅包含源代码的NuGet包。
  • 语义核支持Azure.AI.OpenAI:即将在语义核中支持Azure.AI.OpenAI和OpenAI v2。
  • SignalR引入分布式跟踪:介绍在.NET 9的SignalR中引入的分布式跟踪功能。

延伸问答

如何优化EF Core的性能?

可以通过使用DbContext实例池和拆分查询来优化EF Core的性能,避免资源浪费并提高查询效率。

什么是BufferQueue,它有什么特点?

BufferQueue是一个高性能的缓冲队列,支持多线程并发操作,能够有效处理生产者和消费者速度不一致的问题。

如何在C#中申请非托管内存?

在C#中,可以通过调用C++动态链接库来申请非托管内存,使用new关键字申请的内存位于托管堆,由GC管理。

Blazor的关键概念有哪些?

Blazor的关键概念包括项目模板、Razor语法、依赖注入、HeadOutlet组件等,适合用于构建现代Web应用。

CAP的主要特性是什么?

CAP的主要特性包括消息发布、事务消息、延迟消息和多线程处理,适用于分布式事务和消息处理。

FluentResults库有什么优势?

FluentResults库优化了方法返回结果的处理,提高了代码的可读性与维护性,支持链式调用处理结果和错误。

➡️

继续阅读