开发随记
如何查看 .NET Core 3.1 源代码
2021-07-11 21:19

背景

在 .NET 走向开源后,我们可以方便的查看 .NET 内部的实现方式,学习和寻找问题,甚至参与到 .NET 的开发中。

前段时间,同事需要查看 C# 的 Task 类 (System.Threading.Tasks) 的一些实现和内部的原理,想找 Task 类的源代码来查看,却遇到了一些阻碍……

本文借此机会介绍两种方式来查看 .NET Core 3.1 的源代码:

  • 直接查看 .NET Core 源代码
  • 通过反编译来查看实现
阅读全文
log4net 的 MDC、NDC、ThreadContext 和 LogicalThreadContext
2020-02-15 16:16

背景

在日志记录时,我们往往希望体现出一条清晰的操作线索,先执行了A,然后执行了B,接着执行C……但在 Web 项目中,往往同时处理着多个不同客户端发出的请求,如果这些请求都在进行相同的操作,我们的日志将无法分辨。项目中使用的日志框架是 log4net,过去,我在项目中通过 AutoFac 创建了一个生命周期为 PreRequest 的对象,内部维护了一个 GUID,用来充当 RequestId。这样在记录日志时将该 RequestId 一同记录上,就解决了该问题。

后来领导给其他小组提到了 log4net 的 MDC,希望我们也进行调整,大概意思是可以用 MDC 储存 RequestId 并能方便的生成到日志中。本文记录了这次修改的过程。

阅读全文
Load more
May 2025
Su
Mo
Tu
We
Th
Fr
Sa
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
快速入门ASP.NET.NET CoreIPv6K3sKubernetesNuxt.jsRazor PagesVue前端开发服务器端开发树莓派软件推荐配置DebianDockerJavaScriptLinuxNginxPrometheus 查看全部
An unhandled error has occurred. Reload 🗙