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