.NET周报 【4月第5期 2023-04-30】
国内文章
基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!
https://www.cnblogs.com/NMSLanX/p/17326728.html
大家好,为了使开源项目的维护和管理更方便一些,出于个人需求写了一款开源项目的模板,该模板基于 Github 平台,并使用 .NET 来实现管道功能.
在接受过实战检验后, 于今天开源, 项目地址:https://github.com/night-moon-studio/Template
.NET开源分布式锁DistributedLock
https://www.cnblogs.com/Z7TS/p/17359113.html
本文介绍了.NET开源分布式锁DistributedLock项目,讲述了线程锁和分布式锁的区别,Redis分布式锁的实现原理,RedLock算法的加锁过程,以及DistributedLock项目的简介和源码分析。本文使用了一些代码示例和图片来说明分布式锁的概念和用法。本文可以帮助读者了解.NET中如何使用Redis实现分布式锁的功能。
Sementic Kernel 案例之网梯科技在线教育
https://www.cnblogs.com/shanyou/p/17363651.html
2023年4月22日北京网梯科技发展有限公司研发总监马鸿图分享了他本人对 AI 应用于教育的看法,以及如何将 AI 应用于在线教育,并向大家展示了基于 ChatGPT 的智能教学应用。视频参见 B站【将 ChatGPT 与 AI 应用于在线教育产品,实现智能化教学|开源云原生开发者日 2023】在AI2.0 :将ChatGPT和AI技术更深层次“融入”教学场景的分享部分给大家分享了一个Sementic Kernel的案例,当前Semantic Kernel 主要是使用C# 开发,因此网梯科技也拥抱了.NET 7 来实施AI2.0的落地。
为HttpClient开启HTTP/2
https://www.cnblogs.com/chenyishi/p/17361557.html
本文介绍了.NET Core中使用HttpClient启用HTTP/2和HTTP/3的方法和优势。文章分别说明了如何设置DefaultRequestVersion和DefaultVersionPolicy选项,如何在HttpRequestMessage实例上设置Version和VersionPolicy属性,以及如何在SocketsHttpHandler类上开启EnableMultipleHttp2Connections属性。文章还提到了.NET 6中HTTP/3的预览功能。文章的内容涉及网络编程、性能优化和新技术的应用。
C# 手写识别方案整理
https://www.cnblogs.com/kybs0/p/17361589.html
本文介绍了如何在.NET Core中使用书写识别的方案。文章首先给出了官网的案例,并指出了输出准确度不高的问题。然后,文章结合作者的开发经验,提供了一个书写识别的代码示例,并说明了需要引用的命名空间和DLL文件。文章最后给出了一个参考链接,介绍了C# vs2012中如何实现手写识别。文章的内容涉及.NET Core、HttpClient、书写识别等技术主题。
【Dotnet 工具箱】JIEJIE.NET - 强大的 .NET 代码混淆工具
https://www.cnblogs.com/dotnet-box/p/17360983.html
IEJIE.NET 是一个使用 C# 开发的开源 .NET 代码加密工具。很多 .NET 开发人员担心他们的软件被破解,版权受到侵犯,所以他们使用一些工具来混淆 IL 代码。比如 PreEmptive dotfuscator, 但有些场景的需求,是这些工具不能满足的。所以作者写了 JieJie.NET,它可以深度加密.NET程序集,帮助大家保护版权。重要的是,这个工具是开源的。
记一次 Windows10 内存压缩模块 崩溃分析
https://www.cnblogs.com/huangxincheng/p/17355938.html
在给各位朋友免费分析 .NET程序 各种故障的同时,往往也会收到各种其他类型的dump,比如:Windows 崩溃,C++ 崩溃,Mono 崩溃,真的是啥都有,由于基础知识的相对缺乏,分析起来并不是那么的顺利,今天就聊一个 Windows
崩溃的内核dump 吧,这个 dump 是前几天有位朋友给到我的,让我帮忙看一下,有了dump之后上 windbg 分析。
自学C#,要懂得善用MSDN
https://www.cnblogs.com/chingho/p/17349305.html
很多初学者学习编程,都会通过看别人写的教程、或者录制的视频,来学习。
这是一个非常好的途径,因为这个是非常高效的。
但是这样,存在两个问题:
1、教程不够全面:任何再好的教程,都无法囊括所有的知识点,更多是讲解部分精髓而已;
2、无法掌握学习方法:很多教程都是教你如何使用,但是没有教你如何学习,如何掌握自学方法。
针对以上问题,我首推大家要懂得善用MSDN。
.NET Web入门到高级路线(新版本)
https://www.cnblogs.com/hejiale010426/p/17349394.html
本文总结了学习.NET Web开发技术的从入门到高级的路线图,包括简单的C#和.NET基础知识,常用的ORM、关系型数据库中间件等等方面。
C# 异步进阶— 自定义 TaskSchedule(三)
https://www.cnblogs.com/aoximin/p/17324471.html
本文介绍了如何使用TaskThreadPool类实现一个自定义的线程池,用于控制task的调度和执行。文章首先创建了一个线程安全的队列,用于存储task,并使用Semaphore实现了等待和通知的机制。然后创建了指定数量的线程,每个线程从队列中取出task并执行。最后,文章提供了一个Dispose方法,用于释放资源和停止线程。文章还简要介绍了Semaphore的作用和原理。
.NET使用nacos配置,手把手教你分布式配置中心
https://www.cnblogs.com/raok/p/17348508.html
Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
这么优秀的分布式服务管理平台,怎么能不接入呢?
nacos的安装和使用这里就不细说了,可以参考网上教程和官方文档。https://nacos.io/zh-cn/docs/quick-start.html
我们以创建一个webapi项目为例手把手教你使用Nacos进行配置管理和服务注册
主题
【英文】microsoft/SqlScriptDOM:ScriptDOM/SqlDOM 是一个用于解析 T-SQL 语句和与其抽象语法树交互的 .NET 库
https://github.com/microsoft/SqlScriptDOM
【英文】发布 11.0.0 预览 7 · AvaloniaUI/Avalonia
https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.0-preview7
【英文】ReSharper and Rider 2023.1.1 - 错误修复在这里 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/04/27/resharper-and-rider-2023-1-1-bug-fixes/
【英文】.NET Framework 2023 年 4 月累积更新预览更新 - .NET 博客
https://devblogs.microsoft.com/dotnet/dotnet-framework-april-2023-cumulative-update-preview-updates/
【英文】发布 v7.0.4 · npgsql/npgsql
https://github.com/npgsql/npgsql/releases/tag/v7.0.4
加入 .NET 团队参加 Microsoft Build 2023!- .NET 博客
https://devblogs.microsoft.com/dotnet/microsoft-build-2023-and-dotnet/
文章、幻灯片等
【日文】在外部文件中定义 Semantic Kernel 的技能并加载
https://zenn.dev/microsoft/articles/semantic-kernel-2
【日文】在 C# 上尝试使用 Azure OpenAI 服务的 Semantic Kernel
https://zenn.dev/microsoft/articles/semantic-kernel-1
【日文】通过代码获取主题的实际颜色等(C# / WinUI 3)
https://zenn.dev/shinta0806/articles/theme-property
【英文】探索 Visual Studio 中的 JavaScript 和 TypeScript 开发 - Visual Studio 博客
【英文】Rider 2023.1 中的 HTML、XML、JSON 和 JWT 可视化工具 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/04/27/html-xml-json-and-jwt-visualizers-in-rider-2023-1/
【英文】使用 JetBrains Rider 进行远程开发 | .NET 工具博客
https://blog.jetbrains.com/ja/dotnet/2023/04/10/remote-development-with-jetbrains-rider/
【英文】如何用一个简单的控制台消息保存我的生产数据库
https://dev.to/vanenshi/how-i-saved-my-production-database-with-one-simple-console-message-4fjm
【英文】为 Supabase 创建一个 Dapr 可插入组件
https://dev.to/diagrid/creating-a-dapr-pluggable-component-for-supabase-32kj
【英文】ASP.NET Core Minimal APIs 简介 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/04/25/introduction-to-asp-net-core-minimal-apis/
【英文】使用 Elastic APM / RUM agent 将 .Net 应用程序跟踪发送到 Elasticsearch
【英文】可观察性 .NET & OpenTelemetry Collector
https://dev.to/kim-ch/observability-net-opentelemetry-collector-25g1
【日文】.NET MAUI中Ctrl+Enter等键盘事件处理的困难 - Qiita
https://qiita.com/selfstudy/items/d0f9520d3b40f8946d36
【英文】将字符串转换为 .NET 对象 - IParsable 和 ISpanParsable
https://csharp.christiannagel.com/2023/04/14/iparsable/
【英文】使用 Coyote 为 C# 程序提供工业级可控并发测试 - Microsoft Research
【日文】让我们学习 .NET - Azure - YouTube
https://www.youtube.com/live/g5KIYx6p8Ek
【英文】开始在 .NET 中使用 OpenAI - .NET 博客
https://devblogs.microsoft.com/dotnet/getting-started-azure-openai-dotnet/
【日文】Windows App SDK 1.3 中的 System Backdrop 设置和 AppWindow 使用变得更简单 - しばやん雑記
https://blog.shibayan.jp/entry/20230425/1682412792
【英文】你知道你的 API 发生了什么吗?使用 AppMetrics 收集 ASP.NET Core API 指标。
【英文】使用 C# 示例的 Redis 键空间通知
https://dev.to/sayganov/redis-keyspace-notifications-with-a-c-example-2ahp
【日文】WPF 与 WinUI 3 功能对比表
https://zenn.dev/shinta0806/articles/wpf-vs-winui3
【日文】关于 HTTP/2 和 gRPC 的常见误解。- ねののお庭。
https://blog.neno.dev/entry/2023/04/22/190510
【日文】与 HttpClientFactory 成为朋友:一个轻松升级 .NET 中的 HttpClient 游戏的指南
【日文】[C#] 探讨 EnumerateFiles() 的异常处理的最佳方法 - Qiita
https://qiita.com/hqf00342/items/3707ab2bf5f480ec41f8
【英文】使用 Vault .NET 客户端库探索 HashiCorp Vault
https://dev.to/berviantoleo/exploring-hashicorp-vault-with-vault-net-client-library-194n
版权声明
- 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET
- 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET
由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。
格式如下:
- 10~50字左右的标题
- 对应文章或项目网址访问链接
- 200字以内的简介,如果太长会影响阅读体验
https://github.com/InCerryGit/.NET-Weekly
.NET性能优化交流群
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
- 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
- .NET框架底层原理的实现,如垃圾回收器、JIT等等
- 如何编写高性能的.NET代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。
如果提示已经达到200人,可以加我微信,我拉你进群: ls1075
另外也创建了QQ群,群号: 687779078,欢迎大家加入。