Как правильно использовать Application Insights в UWP, автономный сценарий

В своем приложении UWP я хочу использовать Application Insights, но после многих часов поиска лучшей реализации я не знаю, как это сделать. Я использую MVVM Light, а в App.xaml.cs добавлен ниже код:

WindowsAppInitializer.InitializeAsync();

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

Я предполагаю, что в этой ситуации данные должны храниться в AppData \ Local \ Microsoft \ ApplicationInsights {appGuid} или AppData \ Local \ Packages {appGuid} \ LocalState \ ApplicationInsights, а затем синхронизируются с Azure, но обе локализации по-прежнему пусты. Та же проблема существует, когда я не в сети в режиме выпуска и отладки.

Что вы мне посоветуете?


person piotrbalut    schedule 14.12.2015    source источник


Ответы (1)


Используете ли вы в ViewModels экземпляр TelemetryClient для отправки некоторых данных на сервер (или в кеш в автономном режиме)? Кроме того, правильно ли вы настроили AppInsights? Это работает, когда вы в сети?

Изменить: происходит ли это в режиме выпуска или в режиме отладки? Согласно документу: https://azure.microsoft.com/en-us/documentation/articles/app-insights-windows-usage/.

Отлаживать

Если вы строите в режиме отладки, события отправляются, как только они сгенерированы. Если вы потеряете подключение к Интернету, а затем выйдете из приложения до восстановления подключения, автономная телеметрия будет отброшена.

person Thomas LEBRUN    schedule 14.12.2015
comment
В ViewModels я отправляю данные на сервер, и он отлично работает, когда я онлайн. Проблема в автономном режиме. Я пробовал использовать PersistenceChannel, но в моем случае это не решило проблему. Я, конечно, использовал Flush () перед приостановкой приложения. - person piotrbalut; 14.12.2015
comment
Я пробовал это: режим выпуска и офлайн - ›отправить данные -› в VS приостановить и выключить - ›в OnSuspending в App.xaml.cs telemetryClient.Flush (). В результате ничего не сохраняется локально, а затем отправляется на сервер - person piotrbalut; 14.12.2015