【问题标题】:Logging URL in Blazor Server using Nlog使用 Nlog 在 Blazor 服务器中记录 URL
【发布时间】:2022-07-15 12:10:58
【问题描述】:

我目前正在将 NLog 与 Blazor Server 一起使用,并将生成的日志存储在数据库中。我要存储的数据点之一是创建日志时用户所在的 URL。

在其他 asp.net 核心项目中,我会使用 aspnet-request-url 布局渲染器,但在 Blazor 服务器上,这似乎总是返回 https://localhost/_blazor。有没有办法获取当前的 Blazor URL 并将其包含在日志中?

【问题讨论】:

  • 我检查了 NLog 上的信息,我看不到对 Blazor 的支持。它可能使用中间件来收集它的一些数据,而这在 Blazor 中无法正常工作。 Blazor 路由它不向服务器提交页面。我的猜测是有些位会起作用,而有些则不会。您需要访问 NavigationManager DI 服务以获取当前 URL。
  • @Ogg Vorbis 您找到解决问题的方法了吗?
  • @MrCakaShaunCurtis 无法在 nlog.config 中注入 NavigationManager,所以我猜我需要在 Program.cs 中以某种方式对其进行配置?

标签: c# asp.net-core blazor blazor-server-side nlog


【解决方案1】:

NLog.Web.AspNetCore 库使用 HttpContext 作为其几乎所有布局渲染器的源。在少数情况下使用 IHostEnvironment。在这种情况下,使用属性 HttpContext.Request.Url。未使用中间件。

【讨论】:

    猜你喜欢
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多