Как предотвратить потерю телеметрического просмотра страницы с помощью канала Persistance Application Insight? - PullRequest
0 голосов
/ 18 декабря 2018

, когда доступно интернет-соединение. Информация о приложении для wpf-приложения работает нормально, и я могу отслеживать страницы и события на портале Azure, но я хочу знать, возможно ли хранить данные телеметрии где-то в системе, когда они не подключены к интернету, и извлекать ихэто когда система подключена и отслеживает те действия, которые я выполнял, когда у них не было подключения к интернету.

1 Ответ

0 голосов
/ 18 декабря 2018

Я предлагаю вам взглянуть на Application Insights для настольных приложений , в нем есть хорошие примеры использования Application Insights с настольными приложениями в целом, а также на том, как работать / использовать Канал Постоянства .Взято из упомянутой ссылки:

public MainWindow()
{
    TelemetryConfiguration config = TelemetryConfiguration.CreateDefault();
    config.InstrumentationKey = "954f17ff-47ee-4aa1-a03b-bf0b1a33dbaf";

    config.TelemetryChannel = new PersistenceChannel();
    config.TelemetryChannel.DeveloperMode = Debugger.IsAttached;

    telemetryClient = new TelemetryClient(config);
    telemetryClient.Context.User.Id = Environment.UserName;
    telemetryClient.Context.Session.Id = Guid.NewGuid().ToString();

    InitializeComponent();
}

А затем:

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

...

private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    ExceptionTelemetry excTelemetry = new ExceptionTelemetry((Exception)e.ExceptionObject);
    excTelemetry.SeverityLevel = SeverityLevel.Critical;
    excTelemetry.HandledAt = ExceptionHandledAt.Unhandled;

    telemetryClient.TrackException(excTelemetry);

    telemetryClient.Flush();
}

Обновление

Для отслеживания просмотров страниц вы можете использовать один из TelemetryClient TrackPageView перегрузок, например:

telemetryClient.TrackPageView("MyPageName");

Надеюсь, это поможет!

...