c# - 如何在 asp.net core 的基本控制器中处理 On Exception?
问题描述
在此处输入图像描述我是开发新手,我正在开发一个将 asp.net 应用程序转换为 asp.net 核心的项目。但是我在 on exception 方法上面临一些挑战。为此,我需要您的帮助和指导。抛出异常错误,因为没有找到合适的方法覆盖。下面是我的代码。
protected override void OnException(ExceptionContext filterContext)
{
var urlReferrerAbsolutePath = HttpContext.Request.GetDisplayUrl();
var canvasName = urlReferrerAbsolutePath.Split('-').Last();
canvasName = canvasName.Replace("%20", " ");
ec_log log = new ec_log()
{
Date = DateTime.Now.ToUniversalTime(),
ControllerName = filterContext.RouteData.Values["controller"].ToString(),
ActionName = filterContext.RouteData.Values["action"].ToString(),
Type = Share.MESSAGE_TYPE_ERROR,
LogginOn = Share.MESSAGE_TYPE_EXCEPTION,
LoggedInUserId = LoggedInId,
LoggedInUserName = Share.LoggedInMembersFirstName,
Exception = (filterContext.Exception.InnerException != null ?
filterContext.Exception.InnerException.ToString()
: "") + " " + filterContext.Exception.Message,
System = _systemName,
CompanyID = Share.LoggedInMembersCompanyID,
Url = filterContext.HttpContext.Request.GetDisplayUrl(),
CanvasName = canvasName,
StackTrace = filterContext.Exception.StackTrace != null ? filterContext.Exception.StackTrace : ""
};
new LogModel(_configuration).InsertLog(log);
if (filterContext.ExceptionHandled)
{
return;
}
filterContext.Result = new ViewResult
{
ViewName = "~/Views/Shared/Error.aspx"
};
filterContext.ExceptionHandled = true;
}
解决方案
非常感谢朋友们的指导。希望该解决方案也对您有所帮助。
public virtual void OnException (Microsoft.AspNetCore.Mvc.Filters.ExceptionContext filtercontext);
推荐阅读
- javascript - 使用引导日期时间选择器动态禁用特定日期
- regex - 如何使用正则表达式匹配 unicode 字符和非数字?
- c++ - 隐藏的 gcov_init 被 DSO 引用
- django - view.html 页面中没有显示任何内容
- css - 如何在图像中设置带有悬停效果的框阴影效果?
- c# - 为什么FromBody填充默认值,但DeserializeObject在传递空值时抛出错误(对于不可为空的数据类型)?
- javascript - HTML5 在图像或视频点击上播放暂停视频
- ios - 如何在视图控制器开始时快速加载 json 数据
- twilio - Twilio 跟踪帐户没有语音到文本功能
- apache - Apache 2.4 - 通过检查另一个网络服务器来检查身份验证是否有效