【问题标题】:How to get Request Uri from middleware delegate如何从中间件委托中获取 Request Uri
【发布时间】:2019-08-31 01:51:49
【问题描述】:

我正在尝试在我的配置方法中记录每个请求(.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.Path...你可以阅读更多here

标签: c# .net asp.net-core


【解决方案1】:

您的context 参数有一个Request 属性,其中包含您可能想要的有关客户端调用哪个URL 的所有信息。

您可以关注this post 来帮助您构建原始网址,或者只使用对象提供的部分。

【讨论】:

    猜你喜欢
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多