为什么要在ASP.NET运行状况监视上使用HTTP模块,反之亦然?

为什么要在ASP.NET运行状况监视上使用HTTP模块,反之亦然?,asp.net,performance,Asp.net,Performance,我已经多次遇到这个问题,您需要进行一些性能测试(请求进程时间、加载时间等)或跟踪未处理的异常。答案通常归结为编写HTTP模块、挂接特定事件并将其记录在某个位置,或者使用内置的健康监控 为什么我们要用一个而不是另一个?优缺点是什么?您可以编写自己的HTTP模块记录未处理的异常,也可以使用ASP.Net运行状况监视。我想您可能没有意识到这样一个事实:您可以为ASP.Net运行状况监视编写自己的提供程序,允许您发送电子邮件、登录数据库或执行任何您想执行的操作,但有例外 使用自定义提供程序的一大优点是,

我已经多次遇到这个问题,您需要进行一些性能测试(请求进程时间、加载时间等)或跟踪未处理的异常。答案通常归结为编写HTTP模块、挂接特定事件并将其记录在某个位置,或者使用内置的健康监控


为什么我们要用一个而不是另一个?优缺点是什么?

您可以编写自己的HTTP模块记录未处理的异常,也可以使用ASP.Net运行状况监视。我想您可能没有意识到这样一个事实:您可以为ASP.Net运行状况监视编写自己的提供程序,允许您发送电子邮件、登录数据库或执行任何您想执行的操作,但有例外

使用自定义提供程序的一大优点是,它支持自然地将异常缓冲到组中,以减少垃圾邮件/性能问题。如果您使用自己的HTTP模块来实现这一点,那么您需要编写更多的代码,这些代码只会执行相同的操作,但其缺点是需要花费时间,并且可能容易出错

另一个小优点是,其他开发人员只需查看healthMonitoring xml节点,而不是查看所有HttpModule,就可以更快地了解如何处理错误

对于自定义运行状况监视提供商,您可以查看以下问题: