代码之家  ›  专栏  ›  技术社区  ›  aceinthehole

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

  •  3
  • aceinthehole  · 技术社区  · 15 年前

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

    为什么我们要用一个而另一个?利弊是什么?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

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

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

    另一个小的优点是,其他开发人员只需查看HealthMonitoring XML节点,而不是查找所有http模块,就可以更快地了解如何处理错误。

    对于自定义的健康监视提供程序,您可以查看以下问题: How to write and configure a custom provider for ASP.Net Healthmonitoring?