Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理asp.net内核的基本控制器中的异常?_C#_Asp.net Core - Fatal编程技术网

C# 如何处理asp.net内核的基本控制器中的异常?

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

我是开发新手,正在从事一个将asp.net应用程序转换为asp.net核心的项目。 但是我在on exception方法上面临一些挑战。 我需要你的帮助和指导。 由于未找到合适的方法,因此引发on exception错误。 下面是我的代码

受保护的覆盖无效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 Core
Controller
(),没有定义此类方法


为了在.Net内核中具有类似的功能,考虑将上面的OnExchange逻辑移动到<代码>例外过滤器()

< P>谢谢您的指导,我的朋友们。 希望解决方案也能对您有所帮助

公共虚拟void-OnException(Microsoft.AspNetCore.Mvc.Filters.ExceptionContext-filtercontext)建议您阅读