0

我有一个复杂的 ASP.NET 应用程序,它从 2009 年开始运行。我需要监视它的性能并确定哪些方法在哪些层中是时间或资源消耗的。然后我可以优化方法。

现在,我正在使用 SQL Profiler 检查查询并逐步调整数据库。我想对其他层(UI、服务和存储库)做同样的事情。

我使用过Postsharp和 Enterprise Library Policy Injection Application Block。

我已经实现了一些属性并将它们添加到一些类中,这有助于我自动获取 BeforeMethodEntry 和 AfterMethodEntry(AOP 模型)。因此,我可以得到每个方法的执行时间。它还处理异常日志和页面查看日志。

但是,我认为可能有另一种实现/标准的解决方案来监控正在运行的应用程序。

PS:我已经实现了一些其他解决方案,例如实现不需要任何第三方库的 ExceptionHttpModule 和 PageViewHttpModule。它不符合我的要求。

*简而言之,我想记录和监控层的活动(特别是方法执行持续时间)。*

4

1 回答 1

0

您可能想查看Spring.Net Aop。如果您是AroundAdvice,您将能够在执行该方法之前启动一个 StopWatch,并在它完成后立即停止。有一种方法可以像使用 PostSharp 一样使用它(即使用属性)。

于 2010-12-31T03:18:49.340 回答