C# 使用.NET注释记录方法执行时间
是否有任何现有库只使用方法注释来记录方法执行时间(我更喜欢serilog,anotar.serilog)?如果您打算记录控制器/操作的运行时间。您可以为此编写自己的中间件。检查以下示例:C# 使用.NET注释记录方法执行时间,c#,.net,serilog,C#,.net,Serilog,是否有任何现有库只使用方法注释来记录方法执行时间(我更喜欢serilog,anotar.serilog)?如果您打算记录控制器/操作的运行时间。您可以为此编写自己的中间件。检查以下示例: public class DiagnosticsMiddleware { private readonly RequestDelegate _next; public DiagnosticsMiddleware(RequestDelegate next, IElasticClient esC
public class DiagnosticsMiddleware
{
private readonly RequestDelegate _next;
public DiagnosticsMiddleware(RequestDelegate next, IElasticClient esClient)
{
_next = next;
_esClient = esClient;
}
public async Task Invoke(HttpContext context)
{
Stopwatch sw = Stopwatch.StartNew();
await _next(context);
sw.Stop();
var elapsedTime = sw.ElapsedTicks / (Stopwatch.Frequency / (1000L * 1000L));
LogContext.PushProperty("ElapsedTime", elapsedTime);
}
}
您可以像这样配置它
public void Configure(IApplicationBuilder app)
{
app.UseMiddleware<ContextEnricherMiddleware>();
}
public void配置(IApplicationBuilder应用程序)
{
app.UseMiddleware();
}
/@Selvin和其他人,这个问题已经回答了,但这些问题的主题不同,这与注释无关。我问题的重点是什么?没有提到实际使用ASP.NET的OP。如前所述,您可以在ASP.NET中记录控制器调用的执行时间,它无法记录任意方法的执行时间。请相应地编辑我的帖子