我在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库类项目,一个用于业务层,另一个用于...
是,TrackDependency
方法应该是最简单的方法。