C#ASP.NET Core MVC:异常处理 - 我需要更多数据,例如URL参数和会话



i构建一个C#ASP.NET Core 2 MVC应用程序,这很好。有时我的数据库中有一些奇怪的错误,我需要更多数据来分析。

我有自己的错误类

if (env.IsProduction()) 
{
      app.UseBrowserLink(); 
      app.UseExceptionHandler("/error/index"); 
}

和日志已有更多数据 - 例如IP地址或用户ID用户登录:

_context.Error.Add(new Error
    {
        errorMessage = feature.Error.Message?.ToString(),
        errorStackTrace = feature.Error.StackTrace?.ToString(),
        errorUserAgent = Request.Headers["User-Agent"].ToString(),
        errordate = DateTime.Now,
        errorIP = HttpContext.Features.Get<IHttpConnectionFeature>()?.RemoteIpAddress?.ToString(),
        errorInnerException = feature.Error.InnerException?.ToString(),
        errorSource = feature.Error.Source?.ToString(),
        errorUserID = (tmpUserID.ToString() == "00000000-0000-0000-0000-000000000000") ? null : tmpUserID.ToString(),
        errorForm = SesionFormData
    });
_context.SaveChanges();

但我找不到崩溃的请求的session-data甚至简单的URL参数:(

有办法吗?

非常感谢Ralf

您可以以这种方式获取原始URL:

var requestFeature = HttpContext.Features.Get<IHttpRequestFeature>();
var originalUrl = requestFeature.RawTarget;

有关详细信息,请参阅此答案的评论:https://stackoverflow.com/a/38747631/765818

最新更新