.NET周报【12月第3期 2022-12-23】

由于众所周知的原因,大佬们纷纷加入羊群,笔者也未能幸免,体验下来这绝对不是普通感冒的症状,身体不适,熬了几天,所以本周更新比较晚;另外精力有限,对于国际板块只有链接没有简介,十分抱歉!

在这个艰难时刻,大家照顾好自己和家人,做好防护,祝没羊的永远"郭襄",祝已羊的早日康复,没有一个冬天不可逾越,没有一个春天不会来临!

国内文章

从位图到布隆过滤器,C#实现

https://mp.weixin.qq.com/s/zCIOnIaEqutyasfs3vY2Wg

本文将以 C# 语言来实现一个简单的布隆过滤器,为简化说明,设计得很简单,仅供学习使用。

图解B树及C#实现(1)

https://mp.weixin.qq.com/s/iX7GUDeBRMBVtGFE_l3CLQ

本系列将用三篇文章讲解B树的设计理念及如何用 C# 实现一个内存版本的B树:

  1. B树的定义及数据的插入(本文)

  2. 数据的读取及遍历

  3. 数据的删除

图解B树及C#实现(2)数据的读取及遍历

https://mp.weixin.qq.com/s/jcfT5BPPoni7uqgELBeHeA

前一篇文章为大家介绍了 B树 的基本概念及其插入算法。本文将基于前一篇的内容,为大家介绍插入到 B树 中的数据该怎么读取及遍历,

本文的代码基于前一篇文章的代码,已经实现的功能可能会被省略,只介绍新增的功能。

推荐一款 在线+离线数据 同步框架 Dotmim.Sync

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

微软高级软件工程师 Sébastien Pertus 在 GitHub 网站开源了一种跨平台的关系数据库同步框架 Dotmim.Sync:https://github.com/Mimetis/Dotmim.Sync,该框架基于.NET Standard 2.0 研发,支持在 IOT、 Xamarin、.NET、MAUI 等环境中使用。

我做了第一个ChatGPT .net api聊天库

https://www.cnblogs.com/qwqwQAQ/p/16981579.html

最近这个ChatGPT很火啊,看了B站上很多视频,自己非常手痒,高低自己得整一个啊,但是让我很难受的是,翻遍了github前十页,竟然没有一个C#的ChatGPT项目,我好难受啊!那能怎么办?自己搞一个吧。

Mqttnet内存与性能改进录

https://www.cnblogs.com/kewei/p/16988461.html

MQTTnet是一个高性能的 .NET MQTT库,它提供MQTT客户端和MQTT服务器的功能,支持到最新MQTT5协议版本,支持.Net Framework4.5.2版本或以上。本文讲述了笔者阅读源码,发现性能问题和解决性能的过程。

WinUI(WASDK)使用MediaPipe检查手部关键点并通过ML.NET进行手势分类

https://mp.weixin.qq.com/s/_vRH-u1v3Ebn9ZOSKKtUKw

之所以会搞这个手势识别分类,其实是为了满足之前群友提的需求,就是针对稚晖君的ElectronBot机器人的上位机软件的功能丰富,因为本来擅长的技术栈都是.NET。也刚好试试全能的.NET是不是真的全能就想着做下试试了,MediaPipe作为谷歌开源的机器视觉库,功能很丰富了,而且也支持c++,翻遍社区果然找到了一个基于MediaPipe包装的C#版本,叫MediaPipe.NET,于是就开始整活了。

.NET网站国际化策略

https://mp.weixin.qq.com/s/oylwGgYs4Q2kLGoAtBDEgw

我所在的公司是做SAAS软件,用户群体是面向全球的,因此对应业务系统国际化就是顺理成章的事情。其实国际化重点在于多语言支持,本文就从这方面入手和大家介绍。

为什么 Random.Shared 是线程安全的

https://mp.weixin.qq.com/s/-4mlXU-3KDFaEr8E2S4rAQ

在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题。例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期。本文介绍了为什么Random.Shared 是线程安全的。

通过 CancellationToken 提高 Web 性能

https://mp.weixin.qq.com/s/EEojXpM7Vyzs92tjROkq0Q

在 Web 开发中,经常会遇到这样的场景:用户发起一个请求,Web 服务器执行一些计算密集型的操作,等待结果返回给用户。这种情况下,如果用户在等待结果的过程中取消了请求,那么服务器端依然会继续执行计算,这样就会造成资源浪费。

九哥聊Kestrel网络编程第二章:开发一个Fiddler

https://mp.weixin.qq.com/s/V8M61aZWoDZWE8XqUakPpQ

本文讲解基于 kestrel 开发类似 Fiddler 应用的过程,让读者了解 kestrel 网络编程里面的 kestrel 中间件和 http 应用中间件。由于最终目的不是输出完整功能的产品,所以这里只实现 Fiddler 最核心的 http 请求和响应内容查看的功能。本文章是KestrelApp 项目[2]里面的一个 demo 的讲解,希望对您有用。

使用WPF或AspNetCore创建简易版ChatGPT客户端,搭建属于你自己的私人AI助理

https://mp.weixin.qq.com/s/lsOJ-7op9YoiQdA7LlwaPg

前一天写的一个ChatGPT服务端,貌似大家用起来还不是那么方便,所以我顺便用WPF和AspNetCore的webapi程序做个客户端吧,通过客户端来快速访问chatgpt模型生成对话。

记一次 .NET 某工控MES程序 崩溃分析

https://mp.weixin.qq.com/s/o13vrUM7fxyxlDf9dCT5OA

前几天有位朋友找到我,说他的程序出现了偶发性崩溃,已经抓到了dump文件,Windows事件日志显示的崩溃点在 clr.dll 中,让我帮忙看下是怎么回事,那到底怎么回事呢? 上 WinDbg 说话。

.Net MAUI iOS使用腾讯开放平台TencentOpenAPI

https://mp.weixin.qq.com/s/6ee7rwUHz2t_ZSUVogD_vQ

本文介绍了如何在.Net MAUI iOS使用腾讯开放平台TencentOpenAPI。

《ASP.NET Core 6框架揭秘》实例演示[34]:缓存整个响应内容

https://mp.weixin.qq.com/s/TDNMNTVS_grD6t_5kMCpkw

我们利用ASP.NET开发的大部分API都是为了对外提供资源,对于不易变化的资源内容,针对某个维度对其实施缓存可以很好地提供应用的性能。《内存缓存与分布式缓存的使用》介绍的两种缓存框架(本地内存缓存和分布式缓存)为我们提供了简单易用的缓存读写编程模式,本篇介绍的则是针对针对HTTP响应内容实施缓存,ResponseCachingMiddleware中间件赋予我们的能力[本文节选《ASP.NET Core 6框架揭秘》第22章]。

主题

发布 Oracle Entity Framework Core 7

https://medium.com/oracledevs/announcing-oracle-entity-framework-core-7-d89a2495b7db

ReSharper 和 Rider 2022.3.1 Bug 修复内容

https://blog.jetbrains.com/dotnet/2022/12/21/resharper-and-rider-2022-3-1-bug-fixes/

不脱离Visual Studio就能写markdown - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/write-markdown-without-leaving-visual-studio/

  • 将在Visual Studio 2022中引入Markdown编辑器--无需扩展即可编辑和预览/正在Visual Studio 2022 17.5 Preview 2中测试--Windows森林

Visual Studio 粘性滚动现在预览中 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/sticky-scroll-now-in-preview/

  • 粘性滚动,在VS代码中也很流行,现在在Visual Studio 2022中/在Visual Studio 2022 17.5 Preview 2中测试 - Windows森林

KB5022083 对基于WPF的应用程序渲染XPS文档方式的改变 - Microsoft 支持

https://support.microsoft.com/ja-jp/topic/kb5022083-wpf-%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C-xps-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AE%E5%A4%89%E6%9B%B4-a4ae4fa4-bc58-4c37-acdd-5eebc4e34556

  • 2022年12月".NET "安全更新问题,WPF应用不能正确显示XPS文档/受安全增强措施影响,微软提供解决方法 - Windows森林

文章、幻灯片等。

击败不安全类(函数指针)| UFCPP的博客

https://ufcpp.net/blog/2022/12/unsafer-unsafe/

.NET 7中的新内容 @bind:after可立即处理输入信息(并再次失败) - Qiita

https://qiita.com/jsakamoto/items/0a265288cacea70634b4

使用应用程序服务认证(Easy Auth)和ASP.NET表单认证同时并存 - Shibayan杂记

https://blog.shibayan.jp/entry/20221218/1671348695

在(C#)接口中具有静态虚拟成员的通用构造器 - 钟声响起的猫

https://ikorin2.hatenablog.jp/entry/2022/12/17/212228

2022年的C#(Incremental)源生成器开发方法 - neue.cc

https://neue.cc/2022/12/16_IncrementalSourceGenerator.html

LibraryImportAttribute是在.NET 7中添加的,我碰了一下它 - Programming Lineage Memandum Blog

https://tan.hatenadiary.jp/entry/2022/12/16/002739

我决心摆脱邪恶和暴虐的T4 |UFCPP的博客

https://ufcpp.net/blog/2022/12/no-more-t4/

用.NET和WebAssembly做实验-在AKS的WASI节点池上运行基于.NET的应用程序

https://www.tpeczek.com/2022/12/experimenting-with-net-webassembly.html

使用我最喜欢的静态分析工具(Code Quality & SAST)也在GitLab上使用

https://zenn.dev/masakura/articles/ff74864c9af28d

利用Blazor和DataFactory轻松实现EL应用 - Qiita

https://qiita.com/bitflyer/items/3b4ef34a9bdf5991b8f6

添加新文件的速度变快了很多 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/adding-new-files-just-got-a-lot-faster/

.NET on IBM Power #1 - Qiita

https://qiita.com/Nakaji1106/items/f0761c4d1dce58c0b8d5

  • 在IBM Power上使用.NET #2 - Qiita

  • IBM Power上的.NET #3 - Qiita

C#11允许使用列表模式。

(https://zenn.dev/yuchiki/articles/csharp-list-pattern)

[C#] INumberT实现概述(含小数类型的实现示例) - Qiita

https://qiita.com/YuHima03/items/20b59013d42d294b9839

###用.NET 7、Blazor和.NET MAUI构建你自己的播客应用程序 - .NET博客

https://devblogs.microsoft.com/dotnet/build-your-own-podcast-app-with-dotnet-blazor-and-dotnet-maui/

MQTT与nanoFramework的Node-RED通信

https://zenn.dev/matsuataru/articles/0237a66beb73db

如何将Xamarin.Android迁移到.NET 6 - Qiita

https://qiita.com/secile/items/10266c6b6bd5b179dc23

当pulumi遇到nuke:一个.NET的爱情故事

https://dev.to/techwatching/when-pulumi-met-nuke-a-net-love-story-4omd

用C#检测Windows屏幕锁 - Qiita

https://qiita.com/unasenohkoku/items/380e4fb4613b5abe96ea

处理.NET框架的NuGet包没有设置依赖关系(NU5218警告) - Qiita

https://qiita.com/mxProject/items/f031321ef0d229659f25

在.NET MAUI中用Azure AD B2C进行认证(先用MicrosoftAccount试试) - Qiita

https://qiita.com/MAUIHighSchool/items/b8faf3aba00082b023ac

  • 在MAUI中用Azure AD B2C进行.NET认证(尝试添加谷歌账户认证) - Qiita

不要把异步和同步混在一起,这很危险 - Qiita

https://qiita.com/superriver/items/1f1b83d2d2c6b70ba408

重新实现String.Format方法 - Qiita

https://qiita.com/t0r/items/f83f6ee4ddca1bcf27eb

从Unity 2021.2看新的C#类 - Qiita

https://qiita.com/Gaku_Ishii/items/23d85defb8339fe3e9c0

在Blazor中使用Handsontable,一个类似Excel的网格JS库 - Qiita

https://qiita.com/yaju/items/bcca337af393f15a6795

Rider 2022.3增加了从JSON创建C#类和Record的能力 - Qiita

https://qiita.com/RyotaMurohoshi/items/0c6730d0988b022378e6

Rider 2022.3和ReSharper 2022.3的IL浏览器现在可以将IL反编译为C# - Qiita

https://qiita.com/RyotaMurohoshi/items/1f8244f0af50ad30583e

C# 如何编写源码生成器 第1/5部分:规划

https://kafkawannafly.medium.com/c-how-to-write-a-source-generator-part-1-5-planning-6b4ab6ea5f63

使用Blazor WASM登录后,Azure AD安全组中的授权问题

https://zenn.dev/okazuki/articles/auth-securitygroup-blazorwasm

Mark2,一个用Blazor WebAssembly构建的分数表系统,现在已经开放源代码 - Qiita

https://qiita.com/kaorumori/items/5b7255e3244159b082d3

在.NET中使用代码优先的gRPC(gRPC-Web) - Qiita

https://qiita.com/michi_wkwk/items/194276f0014df74cac41

.NET 7: 源代码中可疑的地方和错误

https://dev.to/_sergvasiliev_/net-7-suspicious-places-and-errors-in-the-source-code-cgd

用Cardboard做一个游戏,作为你今年的圣诞礼物 - Qiita

https://qiita.com/secile/items/69928aa1e52152034489

Blazor 一个关于用WebAssembly开发新业务系统的故事

https://zenn.dev/rkatsura/articles/4b0e0b3dbb9a59

让我们在Unity中也使用Index/Range! - Qiita

https://qiita.com/Euglenach/items/c433afe78d72fc1a18fc

SoundMaker,在C#中生成像老游戏的声音 - Qiita

https://qiita.com/DTB_AutumnSky/items/8d78520567211d9a8dd2

FrogNote,一款笔记、管理和思考软件 - Qiita

https://qiita.com/DTB_AutumnSky/items/1d691e2428ac7fa9330c

尝试在Unity中生成System.Text.Json源码 | Yucchiy的说明

https://blog.yucchiy.com/2022/12/csharp-advent-calendar-system-text-json-unity/

图书馆、资源库、工具等

nenoNaninu/TypedSignalR.Client.TypeScript。TypeScript源生成器,通过分析C#类型定义来提供强类型的SignalR客户端。

https://github.com/nenoNaninu/TypedSignalR.Client.TypeScript

  • [C#]我希望SignalR能有类似SwaggerUI的东西! - 尼诺的花园

mxProject/WindowsFormGenericHost: 这是一个用于Generic Host的扩展库。在Generic Host上运行一个Windows Forms应用程序。

https://github.com/mxProject/WindowsFormGenericHost

  • 在通用主机上运行Windows Forms应用程序 - Qiita

Introduction | Cadl

https://microsoft.github.io/cadl/

  • おためしcadl

网站、文件等

推文


https://twitter.com/timheuer/status/1603880562204495877?s=12

e6a0ea3bef056d5cd501cde595aa1a55.png

https://twitter.com/ufcpp/status/1605378308882935809?s=12

f3ad95bd936dccca4655971fbade799a.png

版权声明

  • 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-12-23.md

  • 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-12-23.md

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周报-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。

格式如下:

  • 10~50字左右的标题

  • 对应文章或项目网址访问链接

  • 200字以内的简介,如果太长会影响阅读体验

https://github.com/InCerryGit/.NET-Weekly

.NET性能优化交流群

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具

  • .NET框架底层原理的实现,如垃圾回收器、JIT等等

  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。由于已经达到200人,可以加我微信,我拉你进群: ls1075

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊的vps多少钱一个月_如何查看您在亚马逊上花了多少钱

亚马逊的vps多少钱一个月Have you ever wondered how much you’ve spent at Amazon during your lifetime? Whether you’re feeling curious or just plain brave, there’s an easy way to find out. 您是否想过一生在亚马逊上花了多少钱? 无论您是好奇还是勇敢…

JavaScript-client、offset、scroll、定时器

client offset scroll client、offset、scroll系列 他们的作用主要与计算盒模型,盒子的偏移量和滚动有关 clientTop 内容区域到边框顶部的距离, 说白了, 就是边框的高度 clientLeft 内容区域到边框左部的距离, 说白了&#xff0…

在ASP.Net和IIS中删除不必要的HTTP响应头

引入 每次当浏览器向Web服务器发起一个请求的时,都会伴随着一些HTTP头的发送.而这些HTTP头是用于给Web服务器提供一些额外信息以便于处理请求。比如说吧。如果浏览器支持压缩功能,则浏览器会发送Accept-Encoding HTTP头,这样一来服务器便知道…

springboot + mybatis + gradle项目构建过程

1.从Spring boot官网根据需求下载脚手架或者到GitHub上去搜索对应的脚手架项目,D_iao ^0^ • 文件目录如下(此处generatorConfig.xml 和 log4j2.xml文件请忽略,后续会讲解) 2.使用Mybatis代码自动构建插件生成代码 • gradle 相关配置 // My…

基于间隔推送全量更新数据状态的设计方法

2019独角兽企业重金招聘Python工程师标准>>> 假如有个直播间,在数据有更新的时候,能及时反映在客户端上。通信方式来说,有两种: 1、拉取模式。 2、推送拉取模式(或者纯推送) 拉取模式&#xff0…

京东Vue组件库NutUI 2.0发布:将支持跨平台!

NutUI 是一套来自京东用户体验设计部(JDC)前端开发部的移动端 Vue 组件库,NutUI 1.0 版本于 2018 年发布。据不完全统计,目前在京东至少有30多个 web 项目正在使用 NutUI。 经过一段时间紧锣密鼓的开发,近期&#xff0…

macbook 下载时睡眠_MacBook进入睡眠状态时如何自动使其静音

macbook 下载时睡眠You open your MacBook to take notes in class or during a meeting, and your music starts playing. Loudly. Not only did you disrupt everyone, you also revealed your passion for 90’s boy bands to a room full of people who once respected you…

Mac 的mysql5.7没有配置文件,如何解决only_full_group_by 问题

数据库版本是5.7.19,在写语句的时候,只要涉及ORDER BY,就会报错, ERROR 1055 (42000): Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column postscan.verifyDelayLog.auditor which is not function…

Spring MVC 入门(一)

什么是 Spring MVC 学习某一样东西之前,我们一定要大致知道这个东西是什么,能干什么,为什么要用它。 Spring MVC 是一个开源平台,一个基于 Spring 的 MVC 框架,它支持基于 Java 开发 Web 应用程序。MVC 架构很利于开发…

开源网关 Apache APISIX 认证鉴权精细化实战讲解

关注公众号并添加到“星标⭐”,防止错过消息后台回复【资料包】获取学习资料GitOps 新手入门到专家进阶实战详细教程作者钱勇,API7.ai 开发工程师,Apache APISIX Committer在当下云原生越发成熟的环境下,API 网关最核心的功能可以…

python应用POP3、IMAP、SMTP 协议,获取邮箱验证码

POP3和IMAP是邮件相关的协议,IMAP是比POP3更高级一点的协议,实…

固件中启用的虚拟化否_哪些固件或硬件机制可启用强制关机?

固件中启用的虚拟化否At one time or another, all of us have had to force our computers to shut down by pushing and holding the power button down until they powered off. Is this mechanism hardware-based, firmware-based, or both? Today’s SuperUser Q&A p…

.NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构二)--学习笔记...

▲ 点击上方“DotNet NB”关注公众号回复“1”获取开发者路线图学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第202篇原创文章目录为什么我们用 OrleansDapr VS OrleansActor 模型Orleans 的核心概念结合 OP Storming 的实践结合 OP Storming 的实践业务模型设计模型代…

PHP 多维数组转json对象

PHP 多维数组转json对象 php 数组转json对象&#xff0c;可能大家都知道要用json_encode,但是转换出来的格式多有不同&#xff0c;此处做个小小的记录&#xff01; 1. 一维数组转json对象 <?php $arr_1 [one, two, three]; var_dump(json_encode($arr_1)); $arr_2 [0 >…

微软文本检索_如何在Microsoft Word中引用其他文档中的文本

微软文本检索You probably have some text that you type often in your Word documents, such as addresses. Instead of retyping this text every time you need it, you can put this common text into one Word document and reference it in other documents–it’ll eve…

Hadoop-Flume-类比吸尘器图解

2019独角兽企业重金招聘Python工程师标准>>> 这是我自己理解Hadoop-Flume的方式 转载于:https://my.oschina.net/u/3697442/blog/1560613

ChatGPT 之后,再玩玩 Stable-Diffusion

前些天体验的 ChatGPT 主要用来进行文本方面的处理&#xff0c;那么图片生成有没有这样的 AI 工具 呢&#xff1f;答案是肯定的。例如&#xff1a;和菜头公众号的题图和文章中的插图大多都是使用 Stable-Diffusion 的 AI 图形生成工具创作的。顺着 Stable-Diffusion 搜索了下相…

渗透测试入门DVWA 教程1:环境搭建

首先欢迎新萌入坑。哈哈。你可能抱着好奇心或者疑问。DVWA 是个啥&#xff1f; DVWA是一款渗透测试的演练系统&#xff0c;在圈子里是很出名的。如果你需要入门&#xff0c;并且找不到合适的靶机&#xff0c;那我就推荐你用DVWA。 我们通常将演练系统称为靶机&#xff0c;下面请…

移动硬盘改台式机硬盘_如何在台式机或移动设备上离线使用Google云端硬盘

移动硬盘改台式机硬盘If there’s any drawback to using cloud-based services for all your productivity and organization needs, it’s that if you can’t get an Internet connection, you’re basically out of luck. 如果使用基于云的服务来满足您的所有生产力和组织需…

你可能不知道的容器镜像安全实践

大家好&#xff0c;我是Edison。最近在公司搭建CI流水线&#xff0c;涉及到容器镜像安全的话题&#xff0c;形成了一个笔记&#xff0c;分享与你&#xff0c;也希望我们都能够提高对安全的重视。时代背景近年来应用程序逐步广泛运行在容器内&#xff0c;容器的采用率也是逐年上…