我已经多次遇到这个问题,您需要进行一些性能测试(请求处理时间、加载时间等)或跟踪未处理的异常。答案通常归结为编写一个 HTTP 模块、 Hook 特定事件并将它们记录在某处,或者使用内置的健康监控?
为什么我们要使用一个而不是另一个?优缺点都有什么?
最佳答案
您可以编写自己的 HTTP 模块来记录未处理的异常,也可以使用 ASP.Net 健康监控。我猜你不知道这样一个事实,你可以为 ASP.Net 健康监控编写你自己的提供程序,它允许你发送电子邮件、登录到数据库,或者做任何你想做的事情,除了异常(exception)。
使用自定义提供程序的一大优点是,它支持自然地将异常缓冲到组中,以减少垃圾邮件/性能问题。如果您为此使用自己的 HTTP 模块,则需要编写更多代码,这些代码只能做同样的事情,但缺点是耗时且容易出错。
另一个小专家是,其他开发人员只需查看 healthMonitoring xml 节点而不是查找所有 HttpModules 即可更快地意识到如何处理您的错误。
对于自定义健康监控提供者,你可以看看这个问题:How to write and configure a custom provider for ASP.Net Healthmonitoring?
关于asp.net - 为什么要在 ASP.NET 健康监控上使用 HTTP 模块,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3609440/