摘要:
2024年3月3日,温暖的阳光洒在山东财经大学的校园里,这一天,我们在这里共同见证了一场科技与智慧的盛宴——“.NET Conf China 2023 JiNan Watch Party:走进山财大—AI驱动下的应用智能化开发”活动。 在现场,我们欢来了社区的数十名成员的参与,首先进行的是签到环节。 阅读全文
摘要:
引言 在C#的并发编程中,Channel是一种非常强大的数据结构,用于在生产者和消费者之间进行通信。本文将首先通过一个实际的使用案例,介绍如何在C#中使用Channel,然后深入到Channel的源码中,解析其内部的实现机制。 使用案例一:文件遍历和过滤 在我们的使用案例中,我们需要遍历一个文件夹及 阅读全文
摘要:
在.NET中,理解对象的内存布局是非常重要的,这将帮助我们更好地理解.NET的运行机制和优化代码,本文将介绍.NET中的对象内存布局。 .NET中的数据类型主要分为两类,值类型和引用类型。值类型包括了基本类型(如int、bool、double、char等)、枚举类型(enum)、结构体类型(stru 阅读全文
摘要:
## 抽象静态方法 在C# 11中,引入了对抽象静态接口成员的支持。这个特性可以让你在接口中定义静态抽象方法、属性、或事件。具体来说,一个接口可以定义一个或多个抽象静态成员,这些成员没有具体的实现。任何实现该接口的类或结构必须提供这些成员的静态实现。这就像实现普通接口成员一样,只不过是静态的。当然, 阅读全文
摘要:
.NET不仅可以使用 C静态库与动态库,也可以将.NET实现的函数导出为C静态库与动态库。在没有Native Aot之前,.NET只能通过P/Invoke享受C/C++生态,而在Native Aot之后,不仅可以享受这些生态,还可以开发SDK供其他语言调用。 .NET Native AOT的Nati 阅读全文
摘要:
dotnet-monitor可以在Kubernetes中作为Sidecar运行,Sidecar是一个容器,它与应用程序在同一个Pod中运行,利用Sidecar模式使我们可以诊断及监控应用程序。 如下图所示,这是我们最终要实现的目标,通过可视化界面查看应用程序的指标信息。 应用服务 创建dotnetm 阅读全文
摘要:
在C:\Users\<UserName>\.wslconfig创建一个文件,配置如下所示。 [wsl2] memory=4GB swap=8GB swap类似于Windows的虚拟内存,从硬盘中划分出一个分区,在物理内存不够时,就会将硬盘空间虚拟成内存使用,用于解决内存不足的情况。 配置格式: [w 阅读全文
摘要:
由于这近一年时间一直忙于写书和工作,一直没有水文,但是近期有几位朋友使用我们的Magicodes.IE反馈在导出过程中内存暴涨...好吧,不管怎样,不能苦了我们朋友,接下来我们通过windbg来看一下什么原因导致的。 接下来我们先通过address -summary来看一下当前应用内存占用量。 0: 阅读全文
摘要:
TinyVFS TinyVFS 是一个虚拟文件系统,受ABP vNext框架的启发。它可以将js、css、image、cshtml等文件嵌入到程序集中, 并在运行时可以将它们像物理文件一样去使用。 特点 在单体应用中,它可以将前端和后台(管理系统)分到单独项目工程中 在开发中它可以让开发人员同时进行 阅读全文
摘要:
设置环境变量 environment { DOTNET_CLI_HOME = "/tmp/DOTNET_CLI_HOME" } 或者 export DOTNET_CLI_HOME="/tmp/DOTNET_CLI_HOME" 阅读全文