.NET周刊【6月第1期 2024-06-02】

国内文章

一文带你了解.NET能做什么?

https://www.cnblogs.com/Can-daydayup/p/18214473

.NET是一个免费、开源、跨平台的开发平台框架,广泛应用于桌面、Web、移动、云服务、游戏、物联网、大数据和人工智能等领域开发。它支持C#、Visual Basic、F#等多种编程语言,其中C#最为常用,通过提供全栈开发支持、安全代码优先等设计亮点,促进了开发人员的工作效率。本文除介绍.NET各领域应用外,还推荐了多个有关它的学习资源和工具,有助于开发者掌握和应用.NET技术。

Gradio.NET是什么,怎么用以及工作原理

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

文章介绍了Gradio.NET,一个允许.NET开发者无需前端经验即可创建专业Web应用的开源框架。它基于Python库Gradio,使得构建和部署交互式Web界面变得简单。Gradio.NET适合快速展示机器学习模型或其他功能的场景。文章还详细说明了如何使用Gradio.NET,包括创建项目、安装NuGet包,以及编写少量代码来启动应用。最后,它强调了Gradio.NET社区的价值,鼓励.NET开发者加入并贡献。

记一次 .NET某工控WPF程序被人恶搞的 卡死分析

https://www.cnblogs.com/huangxincheng/p/18217252

本文讲述了作者分析窗体程序卡死问题的经历。作者表示分析dump是免费的,但不希望别人滥用其时间。通过WinDbg工具分析,作者找到主线程在等待一个事件时卡死了。具体来说,是在处理GetMessageW获取的消息时,主线程被coreclr的WaitSuspendEventsHelper方法阻塞,等待一个事件。作者还展示了该方法的源码,其中用到了InterlockedCompareExchange函数保证状态更新的原子性。

记一次 .NET某企业数字化平台 崩溃分析

https://www.cnblogs.com/huangxincheng/p/18215055

文章描述了如何使用WinDbg工具分析软件崩溃问题,通过查看dump文件来定位和分析发生栈溢出的异常。文中演示了如何判断栈溢出、查看栈的界限和哨兵页,并解释了在.NET环境下,如何通过源码将Win32的STACK_OVERFLOW异常映射为.NET的StackOverflowException异常。最后,通过查看调用栈来尝试定位导致异常的代码。

.NET 6+Semantic Kernel快速接入OpenAI接口

https://www.cnblogs.com/edisonchou/p/-/semantic_kernel_quick_start_demo

本文介绍如何在.NET6环境中利用Semantic Kernel SDK快速集成OpenAI,以创建一个简单的AIGC应用。文中提供了详细的步骤,包括创建.NET6控制台应用程序,配置appsettings.json,安装必要的NuGet包,以及编写代码用于配置及向LLM API发送请求。本文假设读者具有一定的开发背景,主要面向.NET开发者。

Visual Studio 智能代码插件:CodeGeeX

https://www.cnblogs.com/1312mn/p/18211377

CodeGeeX是一款为Visual Studio设计的免费智能编程助手,运用深度学习技术支持代码补全、错误检测、重构等,可无缝集成到多个IDE。它支持超过100种编程语言,具备代码生成、注释添加、智能问答、代码翻译等多功能。用户通过自动模式和交互模式使用CodeGeeX,在Visual Studio 2022安装插件后即可登录使用,提升编码效率。

【译】使用 .NET Aspire 和 Visual Studio 开发云原生应用

https://www.cnblogs.com/MeteorSeed/p/18221465

.NET Aspire 是一个为开发人员提供的简化 .NET 云原生应用程序构建和管理的框架和工具集。通过集成工具、模式和特殊的 NuGet 包,.NET Aspire 支持分布式应用程序开发,实现了自动配置,简化了部署过程,并内置了服务发现功能。可以通过 Visual Studio 或命令行安装 .NET Aspire,并使用 .NET Aspire 项目模板快速创建应用。它支持深度遥测与分布式跟踪,并简化了将应用程序部署到 Azure Container Apps 的流程,提高了开发效率。

分享5款.NET开源免费的Redis客户端组件库

https://www.cnblogs.com/Can-daydayup/p/18223341

大姚分享了5款.NET开源、免费的Redis客户端组件库,包括StackExchange.Redis、csredis、FreeRedis、NewLife.Redis和BeetleX.Redis,它们具有多节点支持、异步编程模型等特性。这些项目都收录在C#/.NET/.NET Core优秀项目和框架精选中,DotNetGuide技术社区为.NET开发者提供学习资料、技术分享和咨询等,旨在建立积极和谐的交流平台。

StackExchange.Redis跑起来,为什么这么溜?

https://www.cnblogs.com/bossma/p/18214702

StackExchange.Redis是一个在.NET环境下与Redis服务器高效通信的客户端库,支持多种Redis功能。文章通过分析StackExchange.Redis的同步和异步调用,阐述了它使用System.IO.Pipelines优化网络IO,采用生产者/消费者模式进行异步处理,实现高效率的数据交换和跨线程通信。同步API负责将操作封装成消息并发送至Redis,然后通过Monitor等待异步结果来同步线程行为。文章深入探讨了消息发送、结果获取及线程同步的具体实现。

微软在Microsoft Build 2024 上 发布了.NET 9 预览版4

https://www.cnblogs.com/shanyou/p/18214692

Microsoft Build 2024上,虽然.NET不是会议的中心议题,但微软依旧发布了一系列旨在提高.NET开发效率和便利性的新功能和工具。这些更新集中在.NET 9 Preview 4中,包括为提升性能和优化而增强的支持。主要改进了生成式人工智能应用、基于云的Web应用的构建体验。此外,微软也正式推出了.NET Aspire,旨在简化.NET的云原生开发。在Build2024会议中与.NET相关的实时会话包括C# 13.0、Entity Framework Core的MongoDB数据库驱动程序,以及ASP.NET Core 9.0与Blazor 9.0的讨论。

C#开发的应用升级更新服务器端工具 - 开源研究系列文章 - 个人小作品

https://www.cnblogs.com/lzhdim/p/18212987

笔者开发了一款名为LUAgent的应用升级管理器,主要解决每个应用都需要单独编写更新代码的问题。LUAgent侧重服务器端,能生成和上传升级更新文件,目前已开源。软件包括多个组成部分如主窗体、上传窗体和FTP操作类,支持添加应用名称、版本号、生成更新文件和上传至FTP。源码可在CSDN下载。客户端应用仍在开发中。

WPF使用事件聚合器,实现任意页面跨页通信

https://www.cnblogs.com/weskynet/p/18221240

本文介绍了如何使用prism框架里的事件聚合器在WPF应用中进行页面间消息传递,并给出了主页面打开对话框、消息发布与接收以及对话框参数接收的实现方法。作者还提供了一个示例,演示了如何传递消息参数,并验证了页面间通信的功能,详细代码可以通过作者公众号获取。

公众号5月C#/.NET热文一览

https://www.cnblogs.com/Can-daydayup/p/18216921

DotNetGuide是一个关于C#/.NET/.NET Core的学习、工作和面试指南知识库,该项目在GitHub上获得了5k+ Star并荣获C#中文Trending榜第一。文章内容包括.NET的应用范围、C#实现多线程的方式、.NET异步编程的实现方式、推荐的.NET定时任务调度框架、在ASP.NET Core Web中使用AutoMapper进行对象映射的方法、介绍.NET开源的AI和LLM相关项目框架、Garnet这款微软官方基于.NET高性能分布式缓存数据库,以及.NET图表库、WinForm UI控件库的介绍和dnSpyEx使用教程。

SQLServer如何监控阻塞会话

https://www.cnblogs.com/tianqing/p/18217020

文章介绍了如何在SQL Server数据库中查询阻塞会话及其根源,并展示了如何用C#编写程序来监控阻塞,定时终止根源会话并记录日志。第一部分通过SQL查询展示了如何查找被阻塞及阻塞会话的详细信息;第二部分提供了查询被阻塞会话的具体SQL文本的方法;第三部分则是C#程序代码,该程序可定期检查并处理数据库阻塞问题。

微服务新体验之Aspire初体验

https://www.cnblogs.com/shiningrise/p/18222147

文章介绍了如何在Visual Studio中安装并配置Aspire项目。首先确认Visual Studio的版本是否支持Aspire,若不支持需要更新至支持版本。然后演示了如何创建Aspire项目,并对项目配置文件进行了修改,以支持不安全传输。接着阐述了如何运行Aspire项目,并分析了项目各组件的关系和功能。前端项目AspireApp1.Web会调用后端AspireApp1_ApiService服务,通过HttpClient与后端服务进行通信,获取天气预报数据。

用.NET代码生成JSON Schema 验证器

https://www.cnblogs.com/dotnet-diagnostic/p/18224293

对于不熟悉JSON Schema的开发者,可以使用Lateapexearlyspeed.Json.Schema库的fluent schema builder模式来构建JSON Schema验证器。此接口设计允许开发者以“强类型”风格配置JSON验证规则,提高代码的安全性和可读性。支持多种验证方法,如IsJsonString、IsJsonNumber等,以及HasCustomValidation方法进行自定义验证。但使用扩展关键字的Build方法将不支持生成标准JSON Schema文本。

深入探讨Function Calling:在Semantic Kernel中的应用实践

https://www.cnblogs.com/ruipeng/p/18221666

本章节主要讲解了OpenAI的function calling如何在Semantic Kernel中应用。OpenAIPromptExecutionSettings中的ToolCallBehavior可以设置为EnableKernelFunctions或AutoInvokeKernelFunctions,前者需要显式发起函数调用请求,后者会自动处理函数调用。推荐使用OpenAI的最新模型以提高工具调用的性能。作者还展示了如何通过Azure OpenAI的服务结合自定义方法获取北京天气的实例,并解释了在开启EnableKernelFunctions时如何手动处理函数调用请求。

记一次 .NET某工业设计软件 崩溃分析

https://www.cnblogs.com/huangxincheng/p/18224311

一位朋友的软件出现崩溃,并抓取了dump文件。分析发现是ExecutionEngineException灾难性异常,原因是接口Stub调用失败,this指针为null。进一步分析clr源码发现问题出在VirtualCallStubManager对象为null,调用管理器无法正确解析调用站点的stub前缀。作者通过具体的代码段和汇编指令解释了问题的原因。

.NET开源、跨平台、使用简单的面部识别库

https://www.cnblogs.com/Can-daydayup/p/18226029

FaceRecognitionDotNet是一个.NET开源、免费、跨平台的面部识别库,它是Python人脸识别库face_recognition的C#移植版本,能够进行人脸检测和识别。它基于dlib和OpenCV开发,提供高级接口,适用于Windows、MacOS和Linux。同时,该项目已被收录到C#/.NET/.NET Core优秀项目和框架精选中,并且有一个面向.NET开发者的DotNetGuide技术社区。

微服务实践Aspire项目发布到远程k8s集群

https://www.cnblogs.com/shiningrise/p/18226058

Aspirate是用于将Aspire项目发布到k8s集群的工具。需要先安装Aspirate,然后在AppHost项目目录下进行初始化,生成aspirate.json配置文件,随后生成k8s配置文件和配置状态文件aspirate-state.json。接着进行构建操作,修改k8s的部署和服务配置文件,例如image的镜像文件地址,最后需要重新应用配置。还提供了如何将远程k8s集群增加至Win11本地的说明。

来自多彩世界的控制台——C#控制台输出彩色字符画

https://www.cnblogs.com/webenh/p/18216734

本文介绍了如何在C#中生成字符画,包括黑白和有限彩色两种方法。首先展示了黑白字符画的生成:加载图像、根据像素明度映射字符。接着尝试了利用Console.ForegroundColor和Colorful.Console库来增加颜色,但由于Windows控制台限制只能显示16种颜色,彩色字符画效果不佳。文章的最后作者表示不甘心,希望能找到全彩字符画的解决方案。

谁说爬虫只能Python?看我用C#快速简单实现爬虫开发和演示!

https://www.cnblogs.com/weskynet/p/18216738

文章介绍了如何使用C#结合HtmlAgilityPack库开发简单的网络爬虫,并演示了如何爬取文本、图片以及视频的基本方法。首先创建一个处理文本的函数将爬取的数据写入text.txt文件,在Main函数中调用相关方法进行操作。同时演示了图片数据的爬取方法和视频数据的爬取,虽然没有实际演示视频爬取,但提供了代码参考。

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)

https://www.cnblogs.com/lulight/p/18219072

本文介绍了在Azure App Service中使用TLS/SSL证书的两种方法:通过文件和系统证书库。文中首先展示如何使用PowerShell创建自签名证书,并提供修改参数的选项。接着,给出了两段.NET代码,分别演示如何通过文件路径和指纹加载证书。文末指出,若通过指纹查找证书失败,需检查证书是否添加到App Service及配置参数,并在实验中通过API调用证明了方法的有效性。

XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览

https://www.cnblogs.com/xiaowange/p/18225328

XML Web服务是基于标准和协议(如WSDL、SOAP、RDF、RSS等)来发布、发现和使用网络应用程序组件的技术。WSDL用于描述Web服务的接口和操作,SOAP用于Web服务间通信的XML协议,RDF用于描述资源的属性和关系,RSS用于网站内容发布。XML Web服务的优势包括自描述性、开放协议支持、组件可重用性及促进现有软件系统间的连接。WSDL文档通过定义数据类型、消息、操作和端口类型等元素来描述Web服务。WSDL操作包括单向操作和请求-响应操作。

【OpenVINO™】在C#中使用 OpenVINO™ 部署 YOLOv10 模型实现目标

https://www.cnblogs.com/guojin-blogs/p/18215648

YOLOv10是YOLO家族新成员,特色是无NMS训练且在推理延迟和性能贡献上有显著提升。文章详述了用OpenVINO™ C# API部署YOLOv10模型的方法。OpenVINO™是英特尔的工具套件,2024年4月更新版本,加快了AI模型在多平台的推理速度,加强了模型压缩和性能改进。本文不仅介绍了YOLOv10模型的优点,还提供了C# API的下载链接和全部源码,帮助开发者在不同操作系统和硬件平台上使用C#实现模型部署和加速推理。

C#中接口的显式实现与隐式实现及其相关应用案例

https://www.cnblogs.com/TonyCode/p/18223431

C#中接口显式实现限制类直接调用方法,像“密封”类接口方法,增加调用成本。通过显式实现降低方法误用,子类重写抽象类中对应接口的默认行为,显式实现方法子类无法直接访问,降低递归调用风险。文章通过示例展示隐式和显式实现的区别,以及静态类扩展对接口方法访问修饰的应用。

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)

https://www.cnblogs.com/lulight/p/18225557

本文讲述在.NET 8环境下,应用如何在Linux系统或容器中读取SSL证书(X509),主要有两种方式。第一种将证书文件包含在源文件中,并直接通过相对路径读取;第二种上传证书至App Service Linux后,系统将证书保存于/var/ssl/文件夹中,可以通过SSH方式查看。文中提供了读取私有证书(.pfx)的.NET 8代码示例,并指出需要WEBSITE_LOAD_CERTIFICATES配置以及添加证书后需要重启站点才能在目录中看到证书文件。

使用 TestContainers 进行数据库集成测试

https://www.cnblogs.com/kklldog/p/18216903/TestContainers

TestContainers是一个开源工具,旨在简化集成测试中的容器管理,可以自动下载启动容器镜像,保证了测试的隔离性与可重复性,并能实现真实环境测试。用户通过API创建并启动容器实例,执行测试,最后销毁容器释放资源。本文使用PostgreSQL容器实例进行单元测试示例,展示如何使用TestContainers进行集成测试,并强调了其在搭建测试环境、保证测试质量方面的优势。

微服务实践k8s&dapr开发部署实验(3)订阅发布

https://www.cnblogs.com/shiningrise/p/18218164

文章介绍了在自托管模式下运行dapr的过程,包括创建订阅webapi项目、修改配置文件、使用Dapr进行发布与订阅,并且介绍了如何在k8s环境下部署。最终通过命令行和网页发布订阅的方式验证了整个流程。

oidc-client.js踩坑吐槽贴

https://www.cnblogs.com/tibos/p/18225177

这篇文章探讨了在使用vue2.0和.net core 6.0工作的环境中,将IdentityServer4认证授权基础框架的demo迁移到vue工程的挑战。作者因为前端技能限制和vue3的复杂性选择了vue2.0,并在迁移过程中遇到了PKCE(Proof Key for Code Exchange)不兼容的问题。文中还详细解释了PKCE的概念和作用,以及oidc-client.js停止维护带来的困扰和潜在解决方案,如关闭PKCE认证或直接取Localstorage中的code_verifier值。

Web Service和Web API理解和使用场景

https://www.cnblogs.com/dotnetw/p/18215365

Web Service是重量级的网络服务,使用SOAP和XML,适用于需安全性和事务处理的企业系统集成。Web API是基于HTTP的轻量级接口,多用JSON,便于快速开发和移动应用后端服务。具体选择取决于项目需求、安全性、性能和团队熟悉度等。

gRPC入门学习之旅(九)

https://www.cnblogs.com/chillsrc/p/18225606

这篇文章介绍了gRPC入门学习之旅的一些关键步骤,包括客户端的编译生成GRPC类、如何进行gRPC服务的https调用及解决相关错误。具体内容包括在Demo.Grpc.Common项目重新生成中生成GRPC类文件、通过Visual Studio 2022设置服务端监听端口和客户端请求地址、添加并编写User类以及MainWindow,以及删除项目中的Protos目录和添加项目引用解决依赖问题。

NET工控,上位机,Modbus485网口/串口通讯(鸣志步进电机,鸣志伺服电机,松下伺服电机,华庆军继电器模块)

https://www.cnblogs.com/Gao1234/p/18096175

文章介绍了两个Modbus帮助类,并重点讨论了在多线程环境下的一些问题。提供了不安全版的代码及实现串口和网口TCP连接的详细步骤。通过示例代码显示了如何设置串口参数并处理串口和TCP连接中的异常。

主题

Microsoft Build 2024:.NET 开发人员的基本会议 - .NET 博客

https://devblogs.microsoft.com/dotnet/catching-up-on-microsoft-build-2024-essential-sessions-for-dotnet-developers/

在 Build 2024 上为 .NET 开发人员介绍视频。

  • .NET 在 Microsoft Build 2024 - YouTube

发布版本 v2.63.0 · grpc/grpc-dotnet

https://github.com/grpc/grpc-dotnet/releases/tag/v2.63.0

grpc-dotnet v2.63.0 已发布。

此版本修复了内存泄漏和竞争条件等多个问题。

MAUI 版 LibVLCSharp 简介

https://dev.to/mfkl/introducing-libvlcsharp-for-maui-naj

发布 .NET MAUI 兼容版本的 LibVLCSharp。

此初始版本支持 Android 和 iOS,收到反馈后将考虑支持 WinUI。

引入 .NET API 文档源代码链接 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-docs-link-to-source-code/

已实现 learn.microsoft.com 上 .NET API 文档的源代码链接以及实现的幕后说明。

文章、幻灯片等

使用 podman 运行 .NET 测试容器

https://zenn.dev/k_maru/articles/testcontainersdotnet_podman

了解如何使用 Podman 而不是 Docker 来通过 Testcontainers for .NET 运行容器。

现代扩展管理器随 Visual Studio 17.10 一起到来 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visual-studio-extension-manager-17-10/

介绍 Visual Studio 2022 17.10 中引入的新扩展管理器。

关于 JetBrains Rider 的 NuGet 支持您不知道的 9 件事 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/05/29/9-things-you-didn-t-know-about-jetbrains-rider-s-nuget-support/

介绍有关 JetBrains Rider 中 NuGet 支持的 9 点。

工具窗口、包源代码控制、缓存管理、在 Assembly Explorer 中打开包、预发布复选框、Checkmarx 的安全性、查找依赖代码、在一处更新包、配置等。

初学者!使用 WPF 进行下一步!

https://zenn.dev/luxiar/articles/f25596cd1876a2

介绍将帮助您创建 WPF 应用程序的配置和技术。

为您的 C# 项目选择最佳的不可变字典

https://goatreview.com/choosing-best-immutable-dictionary-csharp-projects/

关于immutable Dictionary,比较解释了ReadOnlyDictionary、ImmutableDictionary、FrozenDictionary的性能和特点。

VisualStudio.Extensibility 17.10:使用诊断资源管理器调试扩展 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visualstudio-extensibility-17-10/

17.10 中新的 Visual Studio 扩展性模型 VisualStudio.Extensibility 的新增功能。

使用诊断资源管理器进行调试,选择 XAML 资源、文件,跟踪项目查询的结果等等。

在 xUnit 单元测试中实现 ILogger 输出 - Qiita

https://qiita.com/higege-amdeker/items/4e2adfcc1b57628d2c71

如何使用 xUnit 将 ILogger 的输出输出到单元测试中的测试输出。

使用 Roslyn 分析器阻止主构造函数成员捕获

https://andrewlock.net/blocking-primary-constructor-member-capture-using-an-analyzer/

如何使用分析器阻止从 Roslyn.Diagnostics.Analyzers 捕获主构造函数或实现您自己的分析器。

在 Github Actions 中发布并查看 MSTest 测试结果

https://medium.com/@ma11hewtomas/publish-and-view-mstest-test-results-in-github-actions-35f11d97a259如何使用 .NET 的 CTRF 报告器和 github-actions-ctrf 将 MSTest 结果输出到 GitHub Actions 报告。

当作者不在时如何更新 NuGet 库 – The Reformed Programmer

https://www.thereformedprogrammer.net/how-to-update-a-nuget-library-once-the-author-isnt-available/

关于患有痴呆症的作者在他无法更新图书馆时做了什么,以使其他人能够更新图书馆。

.NET Aspire 正式发布!介绍介绍了 Aspire 的 Build 2024 会议

https://zenn.dev/jtechjapan_pub/articles/adf174ff96d3cb

介绍 Build 2024 上涵盖 .NET Aspire 的会议。

[C#] 异步处理和 async/await - Annulus Games

https://annulusgames.com/blog/async-await/

对.NET异步的解释,包括C#的async/await、cancel、IAsyncEnumerable等机制。

Avalonia UI:通过 FluentAvalonia 主题定制增强您的应用程序

https://medium.com/@faruk.akyapak/avalonia-ui-enhance-your-app-with- Fluentavalonia-theme-customization-0e8b9bdb4b16

了解如何为 Avalonia 自定义 FluentAvalonia 主题。

我想在 C# (.NET) 中将字节转换为 KB、MB、GB

https://zenn.dev/hirosukekayaba/articles/77d3ae2d90956a

将文件大小格式化为以 KB、MB、GB 等为单位的字符串的技术。

使用 dotnet-fullgc 触发您的 GC!

https://chnasarre.medium.com/trigger-your-gcs-with-dotnet-fullgc-c51bc3e364dc

了解工具以及如何实现它们以对从命令行运行的 .NET 进程执行 GC。

在.NET 8 中使用 Blazor 创建 WASM + gRPC 项目

https://zenn.dev/microsoft/articles/aspnetcore-blazor-dotnet8-wasm-with-grpc

了解如何在 .NET 8 的 Blazor WebAssembly 项目中使用 gRPC (Web) 进行通信。

Re:从零可观察性开始 - 尼诺的花园。

https://blog.neno.dev/entry/2024/05/25/164314

什么是 Observability、OpenTelemetry 的术语、如何在 C#/.NET 中使用它以及如何使用 Collectors。

ColorPalette 类中出现了公共构造函数!

https://zenn.dev/sayurin/articles/2700249955ee48

.NET 9 公开了 System.Drawing.Imaging.ColorPalette 类的构造函数。

这缓解了传统调色板在调查时难以处理的问题。

活动

Microsoft Build Japan (2024/06/27 10:00~)

https://msdevjp.connpass.com/event/320534/

使用 Blazor+ 低代码实现 .NET 资产现代化 (2024/07/04 13:30~)

https://codeer.connpass.com/event/319762/

网站、文档等

功能域建模 通过领域驱动设计和 F# 解决软件复杂性

https://www.kadokawa.co.jp/product/302405003608/

一本介绍使用函数式编程 F# 进行领域驱动开发的建模和构造方法的书。

版权声明

  • 国内板块由 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,欢迎大家加入。

image-20230703203249615

本文由博客一文多发平台 OpenWrite 发布!

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

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

相关文章

Redis 单线程问题 BigKey问题

前言 简单的redis基础类型以及常用操作我们都也已经介绍过了 现在今天我们来谈谈redis对于单线程是需要怎么理解的 以及redis假设遇见大key我们需要怎么去查询和删除呢??? redis单线程 假设有个人现在问你一个问题:redis是单线程的还是多线程的 这个问题本身就不严谨 就像问…

I.MX6ULL 串口格式化函数移植实验

系列文章目录 I.MX6ULL高精度延时实验 I.MX6ULL高精度延时实验 系列文章目录一、前言二、串口格式化函数简介三、硬件原理分析四、实验程序编写五、编译下载验证 一、前言 上一节实验实现了 UART1 基本的数据收发功能,虽然可以用来调试程序,但是功能太单…

蒙层(css)

如何在 Vue 中实现一个包含图像和蒙层效果的组件?这个组件根据某个条件显示或隐藏蒙层,用于表示图像是否已读。 1. 创建基础模板 首先,我们在模板中使用 div 包裹我们的图像组件 GraphImage,并为最外层 div 设置 position: relat…

使用Hadoop MapReduce分析邮件日志提取 id、状态 和 目标邮箱

使用Hadoop MapReduce分析邮件日志提取 id、状态 和 目标邮箱 在大数据处理和分析的场景中,Hadoop MapReduce是一种常见且高效的工具。本文将展示如何使用Hadoop MapReduce来分析邮件日志,提取邮件的发送状态(成功、失败或退回)和…

Rethinking overlooked aspects in vision-language models

探讨多模态视觉语言模型的一些有趣结论欢迎关注 CVHub!https://mp.weixin.qq.com/s/zouNu-g-33_7JoX3Uscxtw1.Introduction 多模态模型架构上的变化不大,数据的差距比较大,输入分辨率和输入llm的视觉token大小是比较关键的,适配器,VIT和语言模型则不是那么关键。InternVL-…

Ubuntu 20.04 LTS配置JDK、Git

一、配置JDK 1.1 更新系统 执行以下命令 sudo apt update 出现以下界面即为安装成功 1.2 安装openjdk-11-jdk Ubuntu20.04中没有默认JDK,执行以下指令安装,默认会自动配置一些必要环境变量 sudo apt install openjdk-11-jdk 1.3 配置环境变量&…

每天五分钟深度学习PyTorch:Tensor张量的索引和切片

本文重点 有时候当我们拥有一个Tensor张量的时候,我们可能需要获取它某一维度的信息,那么此时我们就需要索引和切片的技术,它们可以帮助我们解决这些问题。 切片操作 a是四维的,然后默认是从第一维开始取,逗号表示取不同的维度 a[:2]表示第一维取0,1,后面三维取所有 …

场外个股期权交易最新指南

场外个股期权交易最新指南 场外个股期权作为一种灵活的衍生品工具,允许投资者在特定条件下对交易所指定的股票进行买卖。相较于标准化的场内个股期权,场外个股期权为投资者提供了更大的自由度。以下是关于场外个股期权交易的基本步骤和要点:…

通信技术振幅键控(ASK)调制与解调硬件实验

一、实验目的 1. 掌握用键控法产生ASK信号的方法; 2. 掌握ASK非相干解调的原理。 二、实验内容 1. 观察ASK已调信号的波形; 2. 观察ASK解调信号的波形。 三、实验器材 1. 双踪示波器; 2. 通信原理实验箱信号源模块、③、④、⑦号模块。…

全息之镜,未来的眼镜

全息之镜,作为未来眼镜的一种设想和展望,凭借其独特的全息技术,将在未来带来全新的视觉体验和应用场景。以下是关于全息之镜未来的详细分析和展望: 一、技术原理与特点 全息之镜利用全息技术,通过干涉、衍射和折射等…

【踏雪无痕的痕六】——数学中有意思的问题

一、背景介绍 提出一个问题往往比解决一个问题更有意义,因为提出一个问题相当于提出了一个思考问题的维度;而解决一个问题是沿着这个维度将已有的知识串起来的过程 三、过程 1.数人数你会吗? 小名再第10位,小李再第15位&#…

Linux下SpringBoot项目部署(centos系统)

一、首先找到自己的sql文件,没有就从数据库挪进来 二、在Maven下打包一下(点击package),看到BUILD SUCCESS就是打包好了 三、将上面两个文件分别挪到 linux 中对应的文件,没有就创建一个(我的是spring_blog…

【微机原理与汇编语言】并行接口8255实验

一、实验目的 掌握可编程并行接口芯片8255的工作原理及初始化方法掌握8255在实际应用中的硬件连接及编程应用 二、实验要求 根据实验室现有条件,针对实验任务,设计实验方案并进行实现。 三、实验内容 启动0#计数器,每计5个数&#xff08…

攻防世界—webbaby详解

1.ssrf注入漏洞 ssrf(服务端请求伪造)是一种安全漏洞,攻击者通过该漏洞向受害服务器发出伪造的请求,从而访问并获取服务器上的资源,常见的ssrf攻击场景包括访问内部网络的服务,执行本地文件系统命令&#…

Linux基础指令磁盘管理002

LVM(Logical Volume Manager)是Linux系统中一种灵活的磁盘管理和存储解决方案,它允许用户在物理卷(Physical Volumes, PV)上创建卷组(Volume Groups, VG),然后在卷组上创建逻辑卷&am…

双指针: 盛水最多的容器

目录 描述 解法 盛水最多的容器_牛客题霸_牛客网 描述 给定一个数组height,长度为n,每个数代表坐标轴中的一个点的高度,height[i]是在第i点的高度,请问,从中选2个高度与x轴组成的容器最多能容纳多少水 1.你不…

【python】ModuleNotFoundError: No Module Named ‘openyxl’

成功解决“ModuleNotFoundError: No Module Named ‘openyxl’”错误的全面指南 在Python编程中,遇到ModuleNotFoundError: No Module Named openyxl这样的错误通常意味着Python解释器无法找到名为openyxl的模块。然而,这里存在一个常见的拼写错误&#…

计算机发展史 | 从起源到现代技术的演进

computer | Evolution from origins to modern technology 今天没有参考资料哈哈 PPT:(评论区?) 早期计算工具 算盘 -算盘是一种手动操作的计算辅助工具,起源于中国,迄今已有2600多年的历史,是…

实验9 静态路由配置

实验9 静态路由配置 一、 原理描述二、 实验目的三、 实验内容四、 实验配置五、 实验步骤 一、 原理描述 网络中的每个路由器都会维护一张路由表或转发表。路由表的表项记录着目的网络信息以及下一跳I 地址。路由表可以手动配置,也可以通过路由算法动态生成。静态…

使用 MDC 实现日志链路跟踪,包教包会!

在微服务环境中,我们经常使用 Skywalking、Spring Cloud Sleut 等去实现整体请求链路的追踪,但是这个整体运维成本高,架构复杂,本次我们来使用 MDC 通过 Log 来实现一个轻量级的会话事务跟踪功能,需要的朋友可以参考一…