C# 如何处理asp.net内核的基本控制器中的异常?
我是开发新手,正在从事一个将asp.net应用程序转换为asp.net核心的项目。 但是我在on exception方法上面临一些挑战。 我需要你的帮助和指导。 由于未找到合适的方法,因此引发on exception错误。 下面是我的代码C# 如何处理asp.net内核的基本控制器中的异常?,c#,asp.net-core,C#,Asp.net Core,我是开发新手,正在从事一个将asp.net应用程序转换为asp.net核心的项目。 但是我在on exception方法上面临一些挑战。 我需要你的帮助和指导。 由于未找到合适的方法,因此引发on exception错误。 下面是我的代码 受保护的覆盖无效OneException(ExceptionContext filterContext) { var urlReferrerAbsolutePath=HttpContext.Request.GetDisplayUrl(); var canva
受保护的覆盖无效OneException(ExceptionContext filterContext)
{
var urlReferrerAbsolutePath=HttpContext.Request.GetDisplayUrl();
var canvasName=urlReferrerAbsolutePath.Split('-').Last();
canvasName=canvasName.Replace(“%20”和“”);
ec_日志=新的ec_日志()
{
Date=DateTime.Now.ToUniversalTime(),
ControllerName=filterContext.RoutedData.Values[“controller”].ToString(),
ActionName=filterContext.RouteData.Values[“action”].ToString(),
Type=Share.MESSAGE\u Type\u错误,
LogginOn=Share.MESSAGE\u类型\u异常,
LoggedInUserId=LoggedInId,
LoggedInUserName=Share.LoggedInMembersFirstName,
异常=(filterContext.Exception.InnerException!=null?
filterContext.Exception.InnerException.ToString()
:“”)+“”+filterContext.Exception.Message,
系统=\u系统名称,
CompanyID=Share.LoggedInMembersCompanyID,
Url=filterContext.HttpContext.Request.GetDisplayUrl(),
CanvasName=CanvasName,
StackTrace=filterContext.Exception.StackTrace!=null?filterContext.Exception.StackTrace:“
};
新的LogModel(_配置);
if(filterContext.ExceptionHandled)
{
回来
}
filterContext.Result=新的ViewResult
{
ViewName=“~/Views/Shared/Error.aspx”
};
filterContext.ExceptionHandled=true;
}
您得到的错误是因为父类没有定义名为OneException(ExceptionContext filterContext)的方法。
您可以从MVC(.NET Framework)Controller
()的文档中看到这一点,该类包含该方法,但对于.NET CoreController
(),没有定义此类方法
为了在.Net内核中具有类似的功能,考虑将上面的OnExchange逻辑移动到<代码>例外过滤器()
< P>谢谢您的指导,我的朋友们。 希望解决方案也能对您有所帮助公共虚拟void-OnException(Microsoft.AspNetCore.Mvc.Filters.ExceptionContext-filtercontext)代码>建议您阅读