【发布时间】:2017-06-22 15:18:07
【问题描述】:
我想知道是否可以编写每次在 ASP.NET 中使用 try catch 块时运行的代码,而不必在 try catch 块内的方法或代码中添加任何属性。 我的意思是一段代码用于整个项目中的所有尝试捕获。 是否可以自定义 try catch 或每次使用 try catch 时调用方法? 提前致谢
【问题讨论】:
-
我知道你想这样做,但很可能你真的在寻找一种全局处理错误的方法,你应该研究全局错误处理
-
@johnny5 是对的。您需要的可能是类似于
HandleErrorAttribute的操作过滤器。你甚至可能想从中获得。然后,您可以使用 FilterConfig.cs 全局应用它。 -
@devKoen1 你想做什么? Elmah 和 Glimpse 已经捕获了错误信息。将它们添加到项目中会添加适当的挂钩。 Application Insights 等 APM 库的工作方式相同。所有这些都允许您以编程方式记录/发送特定消息。
-
如果没有本地处理程序处理异常,则全局异常处理程序工作。你还没有解释你想做什么。最有可能的是,已经有一个可用的解决方案。例如,Polly 允许您将重试、超时等指定为策略。
-
ELMAH 和所有日志框架还允许您用一行记录异常。大多数日志框架接受异常作为参数。 ELMAH 允许您通过Error Signaling 和
ErrorSignal.FromCurrentContext.Raise(exc);记录异常
标签: c# asp.net-mvc try-catch