c#
文章平均质量分 86
SpringHgui
这个作者很懒,什么都没留下…
展开
-
字符串拼接这个隐藏大坑,我表示不服~
前言先看写个简单的代码,看看你能不能答对// See https://aka.ms/new-console-template for more informationConsole.WriteLine("Hello, World!");string v1 = null;string v2 = null;var v3 = v1 + v2;Console.WriteLine();请问上面这段代码v3的值是什么?A:nullB:string.EmptyC:异常请读者好好思考一下再往下原创 2022-05-13 23:31:02 · 151 阅读 · 0 评论 -
AspNetCore7.0源码解读之UseMiddleware
UseMiddlewareExtensions前言本文编写时源码参考github仓库主分支。aspnetcore提供了Use方法供开发者自定义中间件,该方法接收一个委托对象,该委托接收一个RequestDelegate对象,并返回一个RequestDelegate对象,方法定义如下:IApplicationBuilder Use(Func<RequestDelegate, RequestDelegate> middleware);委托RequestD原创 2022-05-07 21:02:51 · 502 阅读 · 0 评论 -
AsyncLocal<T>在链路追踪中的应用
前言在项目生产中日志的记录是必不可少的,在.net项目中,要说日志组件,log4net绝对可有一席之地,随着公司业务的发展,微服务则必定无可避免。在跨服务中通过日志进行分析性能或者排查故障点,如何快速定位日志尤为关键。链路追踪技术的出现正是解决这些痛点的。分布式链路追踪需要收集单次请求所经过的所有服务,而且为了知道请求细节,还需要将具体的业务日志进行串联,而这一切的基础就是要通过一个traceid从头传到尾,相当于将该次请求过程产生的所有日志都关联其traceid,事后排查问题只需要知道traceid,原创 2022-04-28 23:56:54 · 216 阅读 · 0 评论 -
Enum枚举类型实战总结,保证有用。
一般在我们开发时如果能使用枚举罗列的,一般都会定义一个枚举类型。将枚举类型作为方法的参数,可以方便的进行调用,给我们带来不少的遍历,当然有时候它还不如直接用一个int类型带来,带来一定灵活性。但只要能满足业务咱们就怎么方便怎么来吧。基本使用我们业务中会经常遇到订单状态的枚举,它罗列出了所有订单状态的可能值,下面是我刚刚编的一个订单状态枚举public enum OrderStatus{ /// <summary>原创 2022-04-24 23:51:36 · 760 阅读 · 0 评论 -
C# 11的这个新特性-原始字符串文本 我等了太久了
前言在日常开发中我们经常会将JSON、XML、HTML、SQL、Regex等字符串拷贝粘贴到我们的代码中,而这些字符串往往包含很多的引号",我们就必须将所有引号逐个添加转义符\进行转义。这个转义十分麻烦,且容易出错,而当我们们需要替换这些字符串时,重新粘贴进来的文本仍需要再次进行转义,简直让人崩溃。在我的工作中经常会遇到这么一个场景,对于某核心业务的方法,业务执行前一般会进行日志输出参数对象(Json格式),这样可在业务出现故障时追溯到当时的参数值,有利于事后补偿或复现bug等。假设故障发生了,我从日原创 2022-04-20 23:27:37 · 1833 阅读 · 0 评论