ASP.NET运行状况监视或ELMAH选择
本文关键字:ELMAH 选择 监视 NET 运行 ASP | 更新日期: 2023-09-27 18:11:00
net 4 in c# with SQL Server 2008 R2
我需要为我的Web应用程序选择一个错误记录解决方案。
我读了一些文章ELMAH和ASP。. NET运行状况监控的主题,但我想知道您在实际应用程序中更喜欢哪个系统的意见和想法,以及为什么。
我感兴趣的一点:
- setup and configuration
- error reports
- performance
NET运行状况监视不是日志记录解决方案。根据ASP。NET运行状况监视概述:
ASP。NET运行状况监视使您能够执行以下任务:
- 监视应用程序的性能以确保其运行正常。
- 快速诊断应用程序或系统故障。
- 评估应用程序生命周期中的重要事件。
- 监控实时ASP。. NET应用程序,单独或跨Web场。
- 记录不一定与ASP中错误相关的事件。网络应用程序。
所需配置的级别取决于您需要完成的任务。对于我的几个应用程序,我们只需要:
<healthMonitoring enabled="true">
<rules>
<add name="Application Lifetime Events On" eventName="Application Lifetime Events"
provider="EventLogProvider" profile="Default"/>
</rules>
</healthMonitoring>
这会启用运行状况监视,并将应用程序生命周期事件添加到默认情况下收集的事件中。这样,我们就知道应用程序何时启动和停止,以及为什么。
我发现设置和集成ELMAH非常非常容易做到。如果你使用NuGet来安装ELMAH,它将是一块蛋糕,就像Scott Hanselman在这个视频中展示的那样。
你只需要在你的包管理器上做下面的操作,就是这样:-
安装包elmah
这是一个意见(和需求)的问题,但我会选择ELMAH,因为它提供了MS Health Monitoring提供的所有功能,然后还有一些。对我来说最大的特性是ELMAH内置的错误查看器。
自从Scott Hanselman说ELMAH是自切片面包以来最伟大的东西,我就开始使用ELMAH,我真的很喜欢它。正如Esteban上面所述,它比MS Health Monitor监视更多的内容,并且更易于配置。
您也可以使用log4Net或Enterprise Library日志记录和异常块的组合,以及在注册表中启用HTTP错误,但实际上,为什么要重新发明轮子呢?