说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,看该 ...
BeginScope 方法是 .NET 中 ILogger 接口的一部分,用于创建日志记录的作用域(Scope)。这种作用域可以将特定的上下文信息包含在日志中,从而提高日志的可读性和调试效率。 配置日志包含作用域信息 首先,需要在日志配置中启用包含作用域信息。以 appsettings.json 为 ...
一:背景 1. 讲故事 高级调试训练营里的一位朋友找到我,说他们跑在linux上的.NET程序出现了内存泄露的情况,上windbg观察发现内存都是IMAGE给吃掉了,那些image都标记了 doublemapper__deleted_ 字样,问我为啥会这样?说实话作为我们这些调试者非常喜欢和这样的人 ...
一:背景 1. 讲故事 今年以来不知道为啥总有些朋友加我微信,让我帮忙分析下操作系统蓝屏问题,我也觉得挺好奇的,就问了其中一位朋友,说是B站来的,我就在拼命回忆,为啥会找我分析蓝屏?突然想到了去年好像录了一集关于 CrowdStrike 的热点事件。。。我本来是做.NET程序的故障分析,这操作系统的 ...
一、前言 在上一篇 (原创)[.Net] 进程间通信框架(基于共享内存)——SimpleMMF 中,发布了v1.0版,最大的问题是:CPU占用较高,至少40-50%。 这既与我的开发水平有关,也与SimpleMMF诞生环境有关,这个主要是用在数字孪生各软件之间同步数据,而部署软件的工作站性能都强悍, ...
最近有朋友反馈,能否分享一下Avalonia相关的文章,于是就抽空学习了一下,发现Avalonia真的是一款非常不错的UI框架,值得花时间认真学习一下,于是边学习边记录,整理成文,分享给大家,希望可以一起学习,共同进步。 ...
C#中线程创建有ThreadStart、ParameterizedThreadStart和Lambda表达式三种方式,线程可休眠、等待,需注意异常处理。线程非万能,需按需使用,适用于文件写、网络请求、数据库查询等场景。 ...
众所周知,UWP 使用的窗口模型是 CoreWindow,但是 UWP 本身只是一个应用模型,所以完全可以创建 win32 窗口,那么我们可以不可以创建一个 win32 窗口,然后像 XAML 岛 (XAML Islands) 一样把 XAML 托管上去呢?本篇将讲述如何在 UWP 创建一个 XAM... ...
在 C# 中,异步编程主要通过 async 和 await 关键字来实现。异步编程的目的是让程序在执行耗时操作(如 I/O 操作、网络请求等)时不会阻塞主线程,从而提高程序的性能。 1. 异步编程的核心概念 async 关键字 用于标记一个方法为异步方法。 异步方法的返回类型通常是 Task、Tas ...
在日常浏览网页的过程中,我们常常会看到网站的地址栏中有些是以 http:// 开头,而另一些则是以 https:// 开头。那么,它们之间到底有什么区别呢?为何 HTTPS 越来越被推荐作为网络安全的标准?在本文中,我们将深入探讨 HTTP 和 HTTPS 的作用与区别,以及它们如何保障我们在互联网 ...
Visual Studio Community (社区版) 这个版本的 Visual Studio 是免费的,具备以前 Professional 版的功能。使用时间有许可限制。它对开源项目和培训、学术和小型专业团队是 免费的。Visual Studio Express版本以前是免费的,但是该产品在V ...
必备知识 触发器会用到书签和调度,这个在我的另外两篇文章中有分析。 什么是触发器 可以直接调用流程引擎的IWorkflowRuntime获取IWorkflowClient,然后调用它的CreateAndRunInstanceAsync来启动一个全新的流程。 也可以让流程引擎监听一个事件,当事件触发时 ...
在 ASP.NET Core WebAPI 中实现版本控制(Versioning)是一种常见的做法,用于管理 API 的演进和兼容性。通过版本控制,我们可以在不破坏现有客户端的情况下引入新功能或修改现有功能。以下是实现版本控制的几种常见方法: 1. 使用 URL 路径版本控制 将版本号嵌入到 URL ...
说明 软件版本:Bartender 2022 是否支持32位:否 SDK类型:Engine类调用(还有另一种风格的SDK,忘记是啥了) 引用COM库 参考路径: Seagull\BarTender 2022\SDK\Assemblies\Seagull.BarTender.Print.dll 可能只 ...
本文将记录我在多个不同的机器上,在不同的 CPU 型号上,执行相同的我编写的 dotnet 的 Benchmark 的代码,测试不同的 CPU 型号对 C# 系的优化程度。本文非严谨测试,数值只有相对意义 ...
线程是操作系统单独执行任务的最小单元,分前台和后台,有优先级,经历多个状态。C#可设置线程优先级和类型,控制线程状态的方法有Start、Sleep等,但Suspend和Abort已被弃用。多线程编程需通过同步机制控制线程执行。 ...
事情是这样的,如上图所示,因为一个系统里面有好几个子系统,有些子系统之间的“增删查改”又是相通的,于是想通过复制相同的窗体到另外一个文件夹的时候,如果不正确引用“新项目”将会出现以上各种错误。在网上搜索了各种方式,尝试了各种办法,最后找到下面这种亲测有效的解决办法。正确的打开方式是这样的,如下步骤操 ...
前言 推荐一款完全开源、免费且无任何使用限制的WMES(制造执行系统与仓库管理系统集成)解决方案。 系统采用先进的.NET 6技术栈,基于WaterCloud框架构建,提供一个简洁实用、易于二次开发的平台。 项目介绍 WMES(制造执行系统与仓库管理系统集成)是一套基于ASP.NET 6.0 MVC ...
在 ASP.NET Core 中实现速率限制(Rate Limiting)中间件可以帮助你控制客户端对 API 的请求频率,防止滥用和过载。速率限制通常用于保护服务器资源,确保服务的稳定性和可用性。 ASP.NET Core 本身并没有内置的速率限制中间件,但你可以通过自定义中间件或使用第三方库来实 ...
前言 从.NET IoT入门开始这篇文章想必大家应该都看过了,也有很多人都该着手购买树莓派Zero 2W进行上手体验了,那么我们这篇文章就开始真正的实践了,玩硬件肯定是要亲自操作得出成果才会开心,由于牵扯到硬件,所以有的时候软件没问题,但是硬件接线错误或者接触不良都会结果不正常,这个时候就需要我们有 ...