由于微信公众号排版问题,建议大家在PC端浏览。

国内文章

C# 很少人知道的科技

https://blog.lindexi.com/post/C-很少人知道的科技.html

本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道这些科技,如果觉得我是在骗你,那么请看看本文的内容。

C#调用js库的方法

https://www.cnblogs.com/s0611163/archive/2023/01/17/17056909.html

用.net6开发一个Winform程序,处理Excel文件,并把结果导出Excel文件。要用到两个算法,一是turf.js库的booleanPointInPolygon方法,判断经纬度坐标是否在区域内;二是经纬度纠偏算法,因为对方给的区域坐标集合有偏移,需要纠偏。这两个算法,网上找C#的实现,一是不好找;二是找来的不信任,我还要测试以确保没有问题。我之前做电子地图使用过turf.js库和js版本的纠偏算法,比较信任,确定没有问题。所以我就打算通过C#调用js库的方法,来实现数据处理。

C#中检查null的语法糖

https://mp.weixin.qq.com/s/4HY1QKevswNy-0fR-frRgA

今天看到已经更新了devblogs,新增的C# 11的!!(用于检查null的语法)经过非常长的讨论,最后取消了。然后我又想起来null检查,这个可以说一说。

2022年github上Stars排名前十的.NET开源项目

https://mp.weixin.qq.com/s/cJEPtwBg8XJPBcbeF7Co-A

2023年已经开始了,在2022年从事.NET开发的你有什么收获呢?在过去的2022年里面,GitHub最受欢迎、Stars最多的项目分别是哪些呢?今天我们分享一下github上Stars排名前十的非官方.NET开源项目。

.NET 简单、高效、避免OOM的Excel工具

https://mp.weixin.qq.com/s/yEE1-z9_Hov_VaSYZqXRSQ

最近晚辈尝试做一个.NET简单、高效、避免OOM的Excel工具 MiniExcel。主要目前主流框架大多将资料全载入到内存方便操作,但这会导致内存消耗问题,MiniExcel 尝试以 Stream 角度写底层算法逻辑,能让原本1000多MB占用降低到几MB,避免内存不够情况。适合像是低规格 azure app service 或是读取大文件等情境。

一款.Net开发的快速探测内网主机信息工具

https://mp.weixin.qq.com/s/2xUZH_RTqtxvcQRQzFjqMQ

今天给大家推荐一款.Net开发的快速探测内网主机信息工具SharpHostInfo。在进行内网渗透的时候,尤其是在域环境里,如果我们想知道其他内网主机信息,从而开展进一步渗透。那么SharpHostInfo正是这样的一个工具,体积较小,速度极快,支持NetBIOS、SMB和WMI服务快速探测。

一个.NET开发的微信/QQ/TIM防撤回补丁

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

今天给大家推荐一个.NET开发的微信/QQ/TIM防撤回补丁RevokeMsgPatcher。RevokeMsgPatcher使用.NET 4.5框架开发。有18K+的star。软件还附带了一个微信多开功能!

从 0 开始 MongoDB CRUD 及.Net7 中如何使用

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

  • 前面几篇文章详细的介绍了,如何使用 Ubuntu 系统进行各种模式的集群部署.今天这里我们就开始正式的使用.
  • 由于 MongoDB 操作很多,很多操作还很复杂,需要一些功底,所以这里先从数据库界的 Hello World(CRUD)开始.
  • 本来想直接上来就讲操作的,才发现 Mongodb 的语法和一般数据库不一样,还得先介绍下查询条件.
  • 查询条件常在更新和查询时候使用,当然使用聚合管道的时候也需要使用到.
  • 这里先将支持的操作符分类列举出来.参考官方文档
  • https://www.mongodb.com/docs/rapid/reference/operator/query/

MongoDB 数组及在.NET7 中进行操作

https://mp.weixin.qq.com/s/n4uD8UTWvwpvJdyi-hAfxA

  • MongoDB 作为非常优秀的一款 NoSQL 文档型数据库,在日常的使用中我发现它不但可以替代传统的关系型数据库,而且性能非常优异,若是使用分片集群,更是离谱.
  • 并且在我们的业务系统中实践多年也是没有任何问题.各种业务场景均可以解决.
  • 而我们的数据往往是复杂多样的,常常一个实体中会包含 List, Array, 或者 IEnumerable 类型的数据
  • 这类数据在序列化为 JSON 后,都是以数组类型的格式.所以 MongoDB 中就会有很多数组类型的数据.
  • 然而数组类型的数据在操作的时候又和普通的文档不一样.
  • 所以就产生了今天的话题,如何给 MongoDB 的数组元素中新增数据,查询数组中的数据,以及更新和删除.
  • 所以本文一共 4 个知识点.(其实还有一个知识点,使用 $unwind 对数组元素实现分页查询这种操作.)

MongoDB 事务在.NET7 中的使用

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

  • 背景

    • 在前边的文章中,我们详细的介绍了 MongoDB 的安装, CRUD, 聚合管道等操作.已经对 MongoDB 有了初步的了解.
    • 本文的话就着重于在.NET 中如何使用 MongoDB 事务做一个简要的描述.

UWP 一个技术上成功但商业上失败的框架之死;一个现代的操作系统究竟应该提供什么?

https://anduin.aiursoft.com/post/2023/1/3/uwp-why

2023年初,我习惯性的打开 UWP 的 Mail app,来收发一下日常 Email。但是,令我遗憾的是,它已经建议我尝试新版 Mail App 了。

主题

【英文】2022年的开发者生态系统:C#的关键趋势 | .NET工具博客

https://blog.jetbrains.com/dotnet/2023/01/26/the-developer-ecosystem-in-2022-key-trends-for-c/

JetBrains对2022年C#在开发者生态系统中的主要趋势的研究。

  • C#的版本
  • 发展的领域
  • 使用的运行时版本
  • 使用的IDE和编辑器
  • Visual Studio/Visual Studio Code中的插件
  • 用于单元测试的框架
  • 使用剖析器和诊断工具的频率

【英文】在Visual Studio for Mac 17.5中介绍Git状态栏和测试改进 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/introducing-the-git-status-bar-and-testing-improvements-in-visual-studio-for-mac-17-5/

在Visual Studio for Mac 17.5 Preview 3中介绍Git状态栏和测试改进。

增加了诸如从状态栏检查和更改Git分支的功能。

【英文】dotnet/SqlClient 发布稳定版 v5.1.0

https://github.com/dotnet/SqlClient/releases/tag/v5.1.0

Microsoft.Data.SqlClient 5.1.0已经发布。

支持.NET 6,包括TimeOnly和DateOnly,支持SQL Server 2022的TDS8和TLS 1.3,支持ARM64 .NET框架和删除.NET Core 3.1支持。

【英文】Uno平台4.7 - 新项目模板,性能改进等

https://platform.uno/blog/uno-platform-4-7-new-project-template-performance-improvements-and-more/

Uno平台4.7版已经发布。

这个版本包括一个新的项目模板,字体共享和WebAssembly、NativeAOT、Android等的性能改进。

【英文】npgsql/npgsql发布 v7.0.1

https://github.com/npgsql/npgsql/releases/tag/v7.0.1

Npgsql 7.0.1已经发布。

这个版本修复了几个错误,包括死锁。

【英文】microsoft/WindowsAppSDK 发布 v1.2.3

https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.2.3

Windows App SDK 1.2.3已经发布。

该版本修复了几个问题,包括关闭多个窗口时的崩溃。

【英文】ReSharper Tools and Rider 2022.3.2 BUG-fix更新已经到来!

https://blog.jetbrains.com/dotnet/2023/01/27/resharper-rider-2022-3-2/

ReSharper和Rider 2022.3.2已经发布。

它们中的每一个都修复了一些问题,包括ASP.NET Core项目中的崩溃和错误。

文章、幻灯片等

【日文】用MemoryPack做你自己的版本管理 | Yucchiy的注释

https://blog.yucchiy.com/2023/01/memorypack-custom-versioning/

如何在MemoryPack序列化过程中通过嵌入额外的信息来实现你自己的版本控制。

【英文】在Windows Forms应用程序中使用命令绑定来实现跨平台 - .NET博客

https://devblogs.microsoft.com/dotnet/winforms-cross-platform-dotnet-maui-command-binding/

关于在.NET 7中使用Windows Forms中启用的命令绑定来实现MVVM模式并尝试与.NET MAUI共享代码。

【英文】为最小的API生成参数表达式:最小的API的幕后 - 第四部分

https://andrewlock.net/behind-the-scenes-of-minimal-apis-4-generating-argument-expressions-for-minimal-apis/

看看Minimal APIs的幕后,包括构建处理程序参数表达树和处理可选参数。

【英文】将WPF和WinForms简单地整合到一个通用主机中

https://zenn.dev/nin_neko/articles/292f8a6f0d7ee4

如何在WPF和Windows Forms应用程序中使用通用主机。

【日文】[C#] 在Visual Studio中创建你自己的警告,并与你的团队分享它们

https://zenn.dev/tackme31/articles/2e57a1b1f592ff

如何开发你自己的Roslyn Analyser和CodeFix,以及如何在本地包中分发它们。

【英文】5个.NET MAUI功能用于构建伟大的桌面应用程序 - .NET博客

https://devblogs.microsoft.com/dotnet/5-dotnet-maui-desktop-features/

看一下桌面应用程序的五个.NET MAUI功能。

  • 多窗口
  • 菜单栏
  • 上下文菜单
  • 工具提示
  • 指针手势。

【英文】掌握Visual Studio中Git流程的键盘快捷键 - Visual Studio博客

https://devblogs.microsoft.com/visualstudio/keyboard-shortcuts-to-master-your-git-flow-in-visual-studio/

键盘快捷键,帮助你掌握Visual Studio中的Git流程。

【英文】.NET Core和Python之间的简单联合

https://dev.to/devleader/a-simple-union-between-net-core-and-python-5949

简单介绍一下使用Pythonnet从.NET调用Python。

【英文】ASP.NET Core中的基本身份验证 | 软件工程

https://damienbod.com/2023/01/23/basic-authentication-in-asp-net-core/

如何使用idunno.Authentication.Basic包在ASP.NET Core应用程序中实现基本认证。

【英文】用OpenTelemetry轻松追踪.NET应用程序 - 代码迷宫

https://code-maze.com/tracing-dotnet-applications-opentelemetry/

了解如何使用OpenTelemetry来获取.NET应用程序的痕迹。

这篇文章还讨论了向SQL Server获取查询以及使用Jaeger显示查询的步骤。

【英文】C# 12特性: 初级构造方法

https://steven-giesel.com/blogPost/a210c97e-fe68-45de-afa1-d053d75f6f7d

对C# 12中候选引入的主要构造函数的解释。

【英文】EF核心调试第一部分

https://dev.to/karenpayneoregon/ef-core-debugging-part-1-512f

介绍在Entity Framework Core中开发过程中调试和记录的一些有用功能。

【英文】静态库

https://ericsink.com/native_aot/mul_cpp_win_static.html

关于在NativeAOT中作为静态库发布,以及其他出现和应该链接的库。

【英文】开始对你的最小API进行集成测试

https://dev.to/this-is-learning/getting-started-with-integration-testing-for-your-minimal-api-3j0l

如何集成测试一个用最小的API实现的ASP.NET Core应用程序。

【英文】史蒂夫-桑德森通过偷看适用于.NET 8的 "Blazor United "使网络开发人员感到震惊 -《Visual Studio》杂志

https://visualstudiomagazine.com/articles/2023/01/26/blazor-united.aspx

关于Blazor United,正在为.NET 8中的Blazor开发一个原型。

Blazor United是一个原型,它在客户端的Razor Pages、Blazor Server和Blazor WebAssembly之间提供了无缝过渡。

开源库、资源库、工具等。

数组的结构源生成器,为.NET和Unity中的高性能代码制作CPU Cache和SIMD友好的数据结构。

https://github.com/Cysharp/StructureOfArraysGenerator

源码生成器,用于轻松处理一个名为Arrays结构的数据结构。

网站、文件等

推文

谈到Visual Studio 2022预览版如何能像VSCode的REST客户端一样用.http文件做事情。

https://twitter.com/hassanrezkhabib/status/1617734005306294272?s=12


Visual Studio 2022预览版谈到了Endpoints Explorer的可用性,它允许你看到你的ASP.NET Core项目的端点(Rider有类似的功能)。

https://twitter.com/hassanrezkhabib/status/1617064597105823748?s=12

深入理解

[API建议]: 非合作性的代码执行中止 · Issue #69622 · dotnet/runtime

https://github.com/dotnet/runtime/issues/69622

自.NET 7以来,增加了一个名为ControlledExecution.Run的方法,以强制中断运行中的代码。

它打算在类似REPL的环境中使用,而不是在生产环境中使用,因为应用程序的内部状态可能得不到保证。

WASI支持跟踪 · Issue #65895 · dotnet/runtime

https://github.com/dotnet/runtime/issues/65895

关于在.NET中支持WASI(WebAssembly系统接口)的进展问题。

版权声明

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.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,欢迎大家加入。

.NET周报【1月第4期 2023-01-28】的更多相关文章

  1. .NET周报【10月第3期 2022-10-25】

    国内文章 聊一聊被 .NET程序员 遗忘的 COM 组件 https://www.cnblogs.com/huangxincheng/p/16799234.html 将Windows编程中经典的COM ...

  2. .NET周报【11月第1期 2022-11-07】

    国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...

  3. .NET周报【10月第1期 2022-10-11】

    本周精选 继C#实现await/async无栈协程几年后,davidwrighton实现了.NET绿色线程(有栈协程)的原型 https://github.com/dotnet/runtimelab/ ...

  4. .NET周报【10月第2期 2022-10-17】

    主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...

  5. 七牛云 GO 语言周报【七月第 2 期】

    全世界有多少 Gopher? 上周的周报中,我们介绍了 Go 语言的排名已经进入到前十.那么世界上到底有多少 Gopher 呢? 作者列出了以下计算公式: Gopher 数量 = 全世界的开发者数量 ...

  6. F#周报2019年第11期

    新闻 Bolero:WebAssembly中的F# 尝试WebAssembly里的F# JetBrains的fsharp-support 2019.1 ML.NET 0.11发布 Outreachy内 ...

  7. F#周报2019年第16期

    新闻 Ionide试验版本 FSharp路线图介绍 Blazor官方预览 .NET Framework 4.8发布 .NET Core 3 Preview 4发布 需要来自FSharp.Data.Sq ...

  8. F#周报2019年第7期

    新闻 Visual Studio 2019预览版3,F#性能修复 Bolero 0.3发布,HTML模版热加载 Fantomas在线升级至Fantomas 2.9.2 使用F#开发的随机访问Excel ...

  9. F#周报2019年第17期

    新闻 .NET版本的Apache Spark Apache Spark预览版介绍 F# Apache Spark示例 微软Build 2019大会(5月6日至8日) Rider用于F#的解决方案内的重 ...

  10. F#周报2018年第51期

    新闻 有经验的开发者选择F# 2018年10佳技术讲话 试用F#开发WebAssembly Fable.Remoting: 刷新访问令牌 F#开发WebAssembly现在可以使用代码补全 Rider ...

随机推荐

  1. 用Nodejs 实现一个简单的 Redis客户端

    目录 0. 写在前面 1. 背景映入 2. 数据库选择 3. Nodejs TCP连接 3. 代码编写 4. 实验 5. wireshark 抓包分析 6. 杂与代码 0. 写在前面 大家如果有去看过 ...

  2. netty系列之: 在netty中使用 tls 协议请求 DNS 服务器

    目录 简介 支持DoT的DNS服务器 搭建支持DoT的netty客户端 TLS的客户端请求 总结 简介 在前面的文章中我们讲过了如何在netty中构造客户端分别使用tcp和udp协议向DNS服务器请求 ...

  3. 浅谈MYSQL的索引以及它的数据结构

    什么是索引 mysql的数据是持久化到磁盘的,写SQL查询数据也就是在磁盘的某个位置查找符合条件的数据,但是磁盘IO比起内存效率是极慢的,特别是数据量大的时候,这时候就需要引入索引来提高查询效率: 在 ...

  4. 小巧快速的ZooKeeper可视化管理+实时监控工具

    Zookeeper: 是一个分布式的.开源的程序协调服务,是 hadoop 项目下的一个子项目.他提供的主要功 能包括:配置管理.名字服务.分布式锁.集群管理. 平时用zkCli.sh进行管理不免有点 ...

  5. 思维分析逻辑 3 DAY

    目录 指标分析 指标选择原则 指标体系建立 步骤 流量分析 渠道分析(从哪来) 常见渠道及渠道分类 渠道推广过程 渠道的指标 渠道分析方法 转化及价值分析(经过什么?产生什么价值?) 漏斗分析 功能模 ...

  6. 基于 MQ 的分布式 Serverless 多租任务处理系统架构演进

    本文作者:史明伟 , 阿里云智能高级技术专家. 1 Serverless 异步任务处理系统诞生和挑战 无论是对于云的开发者,还是尝试业务升级的企业客户,Serverless的三个概念 "极致 ...

  7. mindxdl--common--errs.go

    // Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved.// Package common the error ...

  8. gRPC(Java) keepAlive机制研究

    基于java gRPC 1.24.2 分析 结论 gRPC keepAlive是grpc框架在应用层面连接保活的一种措施.即当grpc连接上没有业务数据时,是否发送pingpong,以保持连接活跃性, ...

  9. vue 中使用 this 更新数据的一次大坑

    情景说明: 之前用 vue 做数据绑定更新时,发现一个莫名奇妙的问题. 我在 vue 实例中声明了一个数组属性如 books: [],在异步请求的回调函数中使用 this.books = res.da ...

  10. 大前端html基础学习02

    CSS核心属性 一.css属性和属性值的定义 属性:属性是指定选择符所具有的属性,它是css的核心. 属性值:属性值包括法定属性值及常见的数值加单位,如25px,或颜色值等. 二.CSS文本属性 1. ...