.NET6为LINQ添加了多个新API,在本文中,我们将始终使用User类逐一演示这些添加到LINQ中的内容:
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}
Just So So ...
.NET6为LINQ添加了多个新API,在本文中,我们将始终使用User类逐一演示这些添加到LINQ中的内容:
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}
在以前,通常需要我们自己编写middleware记录HTTP请求和响应。
而在.NET 6中默认就有已经实现好的middleware,添加了对HTTP日志记录的支持。
要想启用HTTP日志记录middleware十分简单:
app.UseHttpLogging();
运行程序,发现没有任何日志!?
上次,我们判断了《当前请求是否健康检查API》,避免其写入日志。
但是,对于我们自己开发的API来说,最好也能来区分,比如调试用API,就不需要再写调用日志了。
直接判断路由地址的方式就不考虑了。
本来想使用和上次一样的DisplayName
方式,但是发现没有地方为Controller
设置。
查看源码,发现Action
的DisplayName
属性的实现在ControllerActionDescriptor.cs
:
为了性能监控的目的,我们使用了Middleware
记录所有请求的Log
。实现代码如下:
public class RequestLoggingMiddleware
{
...
public async Task Invoke(HttpContext context)
{
try
{
await _next(context);
}
finally
{
//Log
}
}
}
同时,我们在服务中加入了健康检查API,用于定时访问检查服务状态。
我们常常需要将.NET类库打包成Nuget包,以便多个项目公用。
一旦修改类库,尽管代码可以运行,并成功打包成新版本,看起来一切正常,但是你无法保证该更改是安全且兼容的。
而在.Net 6中,提供了包验证工具,帮助我们检测这一点。
使用方式也非常简单,只需修改项目文件,加上EnablePackageValidation
属性:
<EnablePackageValidation>true</EnablePackageValidation>