Как регистрировать исключения в основном приложении asp.net с помощью ApplicationInsights 2.x при использовании DeveloperExceptionPage

Есть ли документация, касающаяся ApplicationInsights 2.x и ядра asp.net?

Я нашел это: https://docs.microsoft.com/en-us/azure/application-insights/app-insights-asp-net-exceptions, но выглядит устаревшим.

Он использует HandleErrorAttribute, но это класс.NET Framework, а не ядро ​​.net.

1 ответ

В ASP.NET Core вы можете обрабатывать исключения, реализуя интерфейс IExceptionFilter. Код ниже для вашей справки.

public class GlobalExceptionFilter : Microsoft.AspNetCore.Mvc.Filters.IExceptionFilter
{
    public void OnException(ExceptionContext context)
    {
        var telemetry = new TelemetryClient();
        var properties = new Dictionary<string, string> { { "custom-property1", "property1-value" } };
        telemetry.TrackException(context.Exception, properties);
    }
}

После определения фильтра вы можете зарегистрировать его при добавлении службы MVC в методе ConfigureServices.

services.AddMvc().AddMvcOptions(opt=> { opt.Filters.Add(new GlobalExceptionFilter()); });
Другие вопросы по тегам