使用TrackDependency是获取业务逻辑层.NET库类的指标的正确方法?

问题描述 投票:-1回答:1

我在MVC .NET项目中应用了Application Insights。该解决方案包含3个项目:前端的MVC项目和2个.NET库类项目,一个用于业务层,另一个用于数据访问层。

默认情况下,Application Insights自动跟踪HTTP请求和SQL调用,并且跳过业务逻辑层。

我尝试使用TrackDependency从具有应用程序所有业务逻辑的中间库类中获取指标,并且似乎可以正常工作。

我所做的就是在Controller使用业务层方法时实现以下代码:

        LogicLayer.LogicLayer logObj = new LogicLayer.LogicLayer();

        TelemetryClient telemetry = new TelemetryClient();

        string stResponse = "";
        var success = false;
        var startTime = DateTime.UtcNow;
        var timer = System.Diagnostics.Stopwatch.StartNew();
        try
        {
            stResponse = logObj.getData();
            success = true;
        }
        catch (Exception ex)
        {
            success = false;
            telemetry.TrackException(ex);
            throw new Exception("Operation went wrong", ex);
        }
        finally
        {
            timer.Stop();
            telemetry.TrackDependency("DependencyType", "myDependency", "myCall", "", startTime, timer.Elapsed, "", success);
        }

[我的问题是:使用TrackDependency是获取具有应用程序所有业务逻辑的中间库类的指标的正确方法?还是有另一种方式?

我在MVC .NET项目中应用了Application Insights。该解决方案包含3个项目:前端的MVC项目和2个.NET库类项目,一个用于业务层,另一个用于...

c# azure-application-insights class-library
1个回答
0
投票

是,TrackDependency方法应该是最简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.