1
.netコアプロジェクトでグローバルレベルで晴れたアプリケーションの洞察の例外をどこに配置する方法と方法?私はアプリの洞察をインストールしており、紺碧のテレメトリーに従うことができますが、失敗したリクエストの例外はありません。.Net Core - Azureアプリケーションの洞察で例外が表示されない
.netコアプロジェクトでグローバルレベルで晴れたアプリケーションの洞察の例外をどこに配置する方法と方法?私はアプリの洞察をインストールしており、紺碧のテレメトリーに従うことができますが、失敗したリクエストの例外はありません。.Net Core - Azureアプリケーションの洞察で例外が表示されない
エラーをキャッチして例外をAppInsightsに送信するカスタムミドルウェアを作成する方法があります。
using System;
using System.Threading.Tasks;
using Microsoft.ApplicationInsights;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
namespace Middleware
{
public static class ApplicationBuilderExtensions
{
public static IApplicationBuilder UseHttpException(this IApplicationBuilder application)
{
return application.UseMiddleware<HttpExceptionMiddleware>();
}
}
public class HttpExceptionMiddleware
{
private readonly RequestDelegate _next;
public HttpExceptionMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
try
{
await _next.Invoke(context);
}
catch (Exception ex)
{
var telemetryClient = new TelemetryClient();
telemetryClient.TrackException(ex);
//handle response codes and other operations here
}
}
}
}
その後、スタートアップの設定方法にミドルウェアを登録します。
app.UseHttpException();
これは確実に機能しますか?私にとってはまだ例外を表示していません。パイプラインで最初に置かなければならないのですか? –