【发布时间】:2016-08-15 00:00:10
【问题描述】:
正在使用 NLOG 进行日志记录,并且在发生日志记录的地方有一个单独的类@全局级别。根据要求,必须在日志记录结束后从该类重定向到“错误”视图 (Error.cshtml)。
但它是一个非控制器类,因此不能使用RedirectToAction() 或简单的return View("Error") 等常用方法。
有没有办法做到这一点?我试过Response.Redirect(),但什么也没做。
HttpContext.Current.Response.Redirect("/Help/Error",true);
Error.cshtml 是一个纯 HTML 文件,其文本类似于 有一些错误...请联系管理员,该文件位于 Views/Shared/* 文件夹下。
日志记录类存在于一个单独的文件夹中,比如根文件夹下的logging。
在每次调用 Action 方法时,如果发生任何异常,则自动调用记录器,这就是记录的内容,最后应该重定向到错误视图。
【问题讨论】:
-
需要提供更多关于如何捕获错误的信息。让您访问此日志记录代码的代码路径是什么。
-
@AaronLS,也包括了这些信息。请参阅帖子中的编辑。
-
您是否有理由希望在外部类中使用该代码?您不能将代码从该类移动到您的(基本)控制器中的
OnException事件吗? -
@Shyju,是的,可能存在并且它已经存在......而且无法将其移动到基本控制器。但从你的评论听起来好像没有办法完成这件事。这听起来也有点合乎逻辑。让我们知道。
-
@Shyju 指的是全局错误处理代码,它可以捕获任何错误,然后通过日志库记录它们,然后重定向到错误页面。谷歌快速搜索的结果:dusted.codes/….
标签: c# asp.net-mvc