首页 > 解决方案 > 如何在 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;
        }

在此处输入图像描述

标签: c#asp.net-core

解决方案


非常感谢朋友们的指导。希望该解决方案也对您有所帮助。

public virtual void OnException (Microsoft.AspNetCore.Mvc.Filters.ExceptionContext filtercontext);


推荐阅读