精选要闻

.NET 7 NativeAOT比.NET单文件发布文件小80%

https://twitter.com/JamesNK/status/1584919726861737984?s=20&t=cOsB41s2cydu_Ibts4xnEw

AOT GRPC服务器应用程序比.NET运行时自包含的单文件发布小80%,目前只比Go稍大一点。

由于.NET需要Jit编译,第一次请求需要编译很多代码,所以都比较耗时。通过NativeAOT以后,第一次请求响应时间比.NET默认快650%,和Go只相差12%。



要知道.NET不是静态编译的平台,而且它在典型场景有着比Go更完善的特性和更高的性能,能在体积和第一次请求响应追上Go是非常不错的。不过这并不是最终结果,因为.NET NativeAOT虽然可用,但是还未正式发布,期待后续的更新。

.NET8 新增新的AOT分层编译策略,DynamicPGO可达FullPGO性能

.NET8现在可以检测经常访问的AOT代码(并且重新jits它),一般来说只检测经常访问的代码 - 我们已经可以从中看到很好的好处(RPS, Start-time)

https://github.com/dotnet/runtime/pull/70941(已合并)。

可以看到上图中红色箭头所示,RPS有明显提升,而Start-time也有明显的下降。

Silky 微服务框架

https://github.com/liuhll/silky

在.NET平台下的微服务应用开发框架,支持微服务场景的诸多特性,如服务治理、RPC通信、链路跟踪、分布式事务等。

介绍一个免费、开源的.NET 分布式应用框架 - MassTransit

https://www.cnblogs.com/sheng-jie/p/MassTransit-NET-Distributed-Application-Framework.html

本文着重介绍了MassTransit框架。它直译公共交通, 是由Chris Patterson开发的基于消息驱动的.NET 分布式应用框架,其核心思想是借助消息来实现服务之间的松耦合异步通信,进而确保应用更高的可用性、可靠性和可扩展性。

C# RulesEngine 规则引擎:从入门到看懵

https://www.cnblogs.com/whuanle/p/16830333.html

本文介绍了微软开源的规则引擎库RulesEngine的特性和使用方法,其中包含很多代码实例,方便易懂。

是什么让.NET7的Min和Max方法性能暴增了45倍?

https://www.cnblogs.com/InCerry/archive/2022/10/28/how_to_use_simd_improve_dotnet7_min_max_performance.html

本文就通过.NET7中的一些pr带大家一起探索下.NET7的Min()Max()方法是如何变快45倍的。

.NET性能系列文章一:.NET7的性能改进

https://www.cnblogs.com/InCerry/archive/2022/10/24/net-performance-series-1-performance-improvements-in-net-7-fb793f8f5f71.html

.NET 7目前(17.10.2022)处于预览阶段,将于2022年11月发布。通过这个新版本,微软提供了一些大的性能改进。这篇 .NET性能系列的第一篇文章,是关于从.NET6到.NET7最值得注意的性能改进。

创建.NET程序Dump的几种姿势

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

本文介绍了生成一个.NET Dump 文件的多种方式。在 Windows、Linux 或 Azure 上有许多方法可以生成Dump文件。

TensorFlow.NET 实战 - 为.NET开发者开启机器学习之旅

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

介绍在《TensorFlow.NET 实战 - 为.NET开发者开启机器学习之旅》这本书 - .NET 生态上在人工智能领域有一个开源团队 SciSharp STACK ,他们为TensorFlow提供了 .NET Standard binding,旨在以C#实现完整的Tensorflow API,允许 .NET开发人员使用跨平台的.NET Standard框架开发、训练和部署机器学习模型。

C#实现生成Markdown文档目录树

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

介绍了使用C#处理Markdown文档的方式和方法。

记一次 .NET 某娱乐聊天流平台 CPU 爆高分析

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

前段时间有位朋友加微信,说他的程序直接 CPU=100%,每次只能手工介入重启,让我帮忙看下到底怎么回事,哈哈,这种CPU打满的事故,程序员压力会非常大, 我让朋友在 CPU 高的时候抓 2 个 dump 下来,然后发给我分析。

主题

AWS App Runner推出对PHP、Go、.Net和Ruby托管运行时的支持

https://aws.amazon.com/jp/about-aws/whats-new/2022/10/aws-app-runner-support-php-go-dot-net-ruby-managed-runtimes/

现在AWS App Runner支持多种语言的运行机制,包括.NET和Java。

AWS App Runner是一个系统,允许你通过准备带有源代码的镜像或配置文件,轻松构建、部署和运行你的应用程序。 作为一个运行时,ASP.NET 6被支持,作为一个例子,一个ASP.NET Core应用程序可以通过以下的配置文件来构建和部署。

version: 1.0
runtime: dotnet6
build:
commands:
build:
– dotnet publish -c Release -o out
run:
command: dotnet out/HelloWorldDotNetApp.dll
network:
port: 5000
env: APP_PORT
env:
– name: ASPNETCORE_URLS
value: "http://*:5000"

介绍AWS Toolkit for .NET Refactoring,一个新的Visual Studio扩展。

https://aws.amazon.com/jp/about-aws/whats-new/2022/10/aws-toolkit-net-refactoring-visual-studio-extension/

一个名为AWS Toolkit for .NET Refactoring的Visual Studio扩展已经发布。

这是一个扩展,提供了为云环境更新遗留的.NET框架应用程序的功能。 编写.NET Core/.NET,扫描依赖性和API使用情况,改变IIS web.config的代码以在Linux下运行,并协助部署到AWS。

以适当的缩进方式复制 - Visual Studio Blog

https://devblogs.microsoft.com/visualstudio/copy-with-proper-indentation/

文章描述了一个实验性的Visual Studio扩展,允许以保持正确缩进的方式复制代码。

该扩展允许缩进,即使在复制一个嵌套代码块中间的代码块时也能保持一致。 当粘贴到消息应用程序、博客等时,这可以防止只有第一行失去缩进,而其余部分过度缩进的情况。

.NET框架2022年10月累积更新预览 - .NET Blog

https://devblogs.microsoft.com/dotnet/dotnet-framework-october-2022-cumulative-update-preview/

.NET框架的2022年10月累积更新预览已经发布。

这个版本包含几个质量改进的更新,包括WPF。

文章、幻灯片

使AnimationEvent对CoreCLR垃圾收集器安全 | Unity Blog

https://blog.unity.com/technology/making-animationevent-safe-for-the-coreclr-garbage-collector

文章介绍了在用CoreCLR运行Unity时,如何将AnimationEvents与CoreCLR的GC整合并运行。

包括为提高速度而使其成为Blittable,重用GCHandle,以及修改它们,使其在Mono、IL2CPP中的运行速度与CoreCLR相同。

在Visual Studio 2022中使用的扩展 - tech.guitarrapc.cóm

https://tech.guitarrapc.com/entry/2022/10/27/023608

介绍Visual Studio 2022中可用扩展的文章。 它引入了各种扩展,从编辑器到显示构建状态等等。

Blazor Wasm的现场演示现在可以使用 | ++C++; // 不明飞行C博客

https://ufcpp.net/blog/2022/10/blazorwasmdemo/

一篇关于在Blazor WebAssembly中整理和重做工作演示的文章。

在.NET项目中,有6种方法可以在一个共同的位置设置相同的版本信息 | @jsakamoto

https://devadjust.exblog.jp/29404286/

本文介绍了从一个共同的位置设置一个解决方案中多个.NET项目的版本信息的方法。

文章介绍了六种设置常用设置的方法。

  • Directory.Build.props
  • 进口道具。
  • 链接包含AssemblyFileVersion的源代码
  • 从文件中导入
  • 通过dotnet构建参数指定
  • 在构建时通过环境变量进行规范

OpenSearch的.NET客户端现在是GA,我打算使用它。

https://zenn.dev/shimat/articles/d2ae99acaf022f

关于Amazon OpenSearch(前身为Elasticsearch Service)的.NET客户端库的文章。

Elasticsearch 客户端库从 v7.14 开始就无法连接到 OpenSearch,所以一直在等待 OpenSearch 的客户端库。 现在已经发布的.NET版本的客户端库,以及它的使用和感受。

在ASP.NET Core 6.0中构建你自己的OAuth 2.0服务器和OpenId连接提供商

https://dev.to/mohammedahmed/build-your-own-oauth-20-server-and-openid-connect-provider-in-aspnet-core-60-1g1m

关于在.NET 6的ASP.NET Core中实现自己的OAuth 2.0服务器和OpenId Connect Provider的文章。

托管指针、Span、ref结构、C#11 ref字段和scoped关键字 - NDepend

https://blog.ndepend.com/managed-pointers-span-ref-struct-c11-ref-fields-and-the-scoped-keyword

这篇文章回顾并解释了从指针到Span、Ref结构和字段的一切。

自动发布.Net应用程序的版本

https://blog.antosubash.com/posts/automatic-version-and-release

关于如何使用Versionize工具在GitHub Actions中自动进行版本和发布的文章。

文章还讨论了如何使用Husky.Net对Git的pre-commit钩子中的注释进行提示。

学习系列:在Visual Studio中开始使用GitHub

https://devblogs.microsoft.com/visualstudio/learn-github-in-visual-studio-learning-series/

一篇关于使用Visual Studio学习GitHub的电子邮件系列的介绍性文章。

LINQ的聚合函数在.NET7中为何如此之快的故事(或者说矢量化的难度) - Qiita

https://qiita.com/Kujiro/items/dc90366325fffcd3675d

一篇解释LINQ聚合函数(Sum、Max、Average)的具体实现的文章,这些函数在.NET 7中被加速了。

Project Volterra和Windows开发工具包2023 - Shibayan Miscellaneous

https://blog.shibayan.jp/entry/20221027/1666807751

关于Windows开发工具包2023的评论文章。

我买了Windows开发工具包2023 | DevelopersIO

https://dev.classmethod.jp/articles/try-windows-dev-kit-2023-project-volterra/

一篇关于Windows开发工具包2023的评论文章,其中还讨论了像PowerShell和AWS工具如何工作。

在Razor Pages中与空引用类型作斗争

https://andrewlock.net/fighting-with-nullable-reference-types-in-razor-pages/

关于在Razor Pages中与空引用类型斗争的文章。

文章讨论了如何处理Razor页面,其中的值是从外部插入的,警告和不适当的抓取会增加NullReferenceException的可能性。 文章介绍了一些建议,包括使用C# 11的required,这在一定程度上可以缓解。

在C#中使用多线程的SQLite。

https://zenn.dev/kn64872/articles/90ae674d5332a7

文章探讨了在多线程环境下使用System.Data.SQLite的行为。

用Infer#杀死僵尸 "无回复 "崩溃 - .NET博客

https://devblogs.microsoft.com/dotnet/slaying-zombie-no-repo-crashes-with-infersharp/

一篇关于使用Infer#进行静态代码分析以检测难以发现的资源泄漏和安全问题的介绍性文章。

官方发布! @dotnet 目前的版本已被重新命名为 "标准期限支持",这些变化已在网站上发布。

https://dotnet.microsoft.com/download/dotnet

目前的.NET非LTS版本已被重新命名为 "标准期限支持",其变化已在网站上上线。

图书馆、资源库、工具

corvus-dotnet/Corvus.UriTemplates: 低分配的URI模板解析和解决,支持Tavis.UriTemplates API

https://github.com/corvus-dotnet/corvus.uritemplates

一个分配较少的处理URI模板的库(RFC 6570).

版权声明

欢迎大家为.NET周报进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交issue或者在我的微信公众号私信。

格式如下:

  • 10~50字左右的标题
  • 对应文章或项目网址访问链接
  • 200字以内的简介,如果太长会影响阅读体验

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

.NET周报【10月最后一期 2022-11-01】的更多相关文章

  1. 【¥200代金券、iPad等您来拿】 阿里云9大产品免费公测#10月9日-11月6日#

    #10.09-11.06#200元代金券.iPad大奖, 9大产品评测活动! 亲爱的阿里云小伙伴们: 云产品的多样性(更多的云产品)也是让用户深度使用云计算的关键.今年阿里云产品线越来越丰富,小云搜罗 ...

  2. CCRD_TOC_2007年10月_总第11期

    中信国健临床通讯 2007年10月, 总第11期    目 录 1. Etanercept可以缓解反应性和未分化关节炎患者的疼痛和滑膜炎症 Flagg SD, et al Arthritis Rheu ...

  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. .NET周报【10月第3期 2022-10-25】

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

  6. 2016年10月11日 星期二 --出埃及记 Exodus 18:22

    2016年10月11日 星期二 --出埃及记 Exodus 18:22 Have them serve as judges for the people at all times, but have ...

  7. 北京Uber优步司机奖励政策(10月26日~11月1日)

    用户组:优步北京人民优步A组(适用于10月26日-11月1日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/ ...

  8. 北京Uber优步司机奖励政策(10月5日~10月11日)

    用户组:优步北京人民优步A组(适用于10月5日-10月11日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/ ...

  9. 2019第一期《python测试开发》课程,10月13号开学

    2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...

  10. 10月12号 晚八点 Speed-BI 云平台-基于Excel数据源的管理驾驶舱构建全过程,腾讯课堂开课啦

    认真地做了一大摞一大摞的报表,老板没时间看?努力把能反馈的内容都融汇进图表里,老板嫌复杂?做了几个简单的报表,老板一眼就觉得信息不全面?每个报表都用了各种各样的图表,老板却毫无兴趣?明明很努力了,为什 ...

随机推荐

  1. linux的进阶命令

    一. linux的基础命令 1.history 查看历史命令记录 2.ifconfig 查看所在的IP地址 3.tail -n 查看一个文件的后n行记录 4.head -n 查看一个文件的前n行记录5 ...

  2. CF1534C

    题目简化和分析: 涉及算法:并查集. 为什么要使用并查集: 因为交换只能是列交换,并且保证不与别的重复 我们通过观察题目发现,某些列之间互为限制关系 即如果某列序列排序方式固定,则被限制的列也为固定的 ...

  3. C#基数排序算法

    前言 基数排序是一种非比较性排序算法,它通过将待排序的数据拆分成多个数字位进行排序. 实现原理 首先找出待排序数组中的最大值,并确定排序的位数. 从最低位(个位)开始,按照个位数的大小进行桶排序,将元 ...

  4. OI 学习笔记 I:图论(更新中)

    阅读时建议在右下角开启目录. 由于作者的数学水平限制和篇幅限制,有些结论可能仅给出感性理解或不给出证明,有疑惑的读者可以百度答案或者前往参考资料一栏查找. 另外,因为图论的内容比较杂,有些与树相关的算 ...

  5. Kafka基本原理、生产问题总结及性能优化实践

    Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量 ...

  6. go语言写http踩得坑

    1.在运行http时,报错:panic: listen tcp: address xxxx: missing port in address, 初始 代码如下 func HelloWordHander ...

  7. HanLP — Aho-Corasick DoubleArrayTire 算法 ACDAT - 基于双数组字典树的AC自动机

    双数组字典树能在O(1)(1是模式串长度)时间内高速完成单串匹配,并且内存消耗可控,然而软肋在于多模式匹配.如果要匹配多个模式串,必须先实现前缀查询,然后频繁截取文本后缀才可多匹配.比如 ushers ...

  8. 2022/07/16暑期集训考试 day1

    T1 取餐号 看到数据范围 直接锁定埃氏筛和线性筛 我打的是一个优化一点的埃氏筛 #include<bits/stdc++.h> using namespace std; #define ...

  9. 2021 ICPC济南 J Determinant

    题意就是给定一个矩阵,然后给出他的行列式的绝对值,这个值是精确的,然后让我们判断行列式的正负. 思路来源:一个Acmer 首先做这个题要明白一个性质才可以做,一个数和它的相反数对一个奇数的取模一定不同 ...

  10. 6k Star!B站、滴滴、小红书都在用的网站防火墙

    你有网站么?你担心网站被黑客攻击么?你知道如何抵御来自黑客的攻击吗? 据称互联网上有 30% 的流量都来自于恶意攻击.做过 Web 开发或者有过建站经验的朋友对 SQL 注入.CC 攻击.XSS.We ...