繁体   English   中英

如何从中间件委托获取请求Uri

[英]How to get Request Uri from middleware delegate

我试图在我的configure方法中记录每个请求(.net core 2.2)的经过时间,如下所示:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, 
    ILoggerFactory loggerFactory)
{
    app.Use(async (context, next) =>
    {
        Logging.Log.Id = Convert.ToString(new Activity(string.Empty).Id);

        var sw = new Stopwatch();
        sw.Start();
        await next.Invoke();
        sw.Stop();

        Logging.Log.Info($"ElapsedTime: {sw.ElapsedMilliseconds}");
    });

    // rest of method code omitted 
} 

随着时间的流逝,我想显示调用了哪个端点或请求到达的绝对uri。 我如何从上下文对象中获得相同的信息。

您的context参数具有一个Request属性,该属性具有您可能需要的有关客户端正在调用哪个URL的所有信息。

您可以按照这篇文章来帮助您构造原始网址,也可以仅使用对象为您提供的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM