Conclusions Demande d'application WPF

Il y a une application WPF, écrit en Visual Studio.
Puis-je ajouter Application Insights Dans cette application WPF?
J'aimerais savoir combien de fois le bouton est enfoncé/tuile. Puisqu'il y a plusieurs installations.
la même application, j'aimerais savoir quel bouton a été enfoncé combien de fois user/installation. Cela peut être fait avec Application Insights?

remercier
Avantia
Invité:

Babette

Confirmation de:

Bien qu'il ne figure pas dans la liste des types d'applications pris en charge, cela signifie que les données de télémétrie par défaut ne sont pas collectées et non envoyées à application insights, et non supporté l'ajout AI/Création de ressources application insights. Cependant, vous pouvez ajouter à votre WPF Plusieurs étapes de la main pour que vous puissiez suivre les scripts spécifiques que vous mentionnez /Par exemple, cliquez sur les boutons/Tuile/.

-De Visual studio Ajouter au projet "attachement Insights API" NuGet /.11 En dernier aujourd'hui/.

Cela ajoutera un lien Application Insights API et créer un fichier de configuration application insights Dans votre projet.

Déposer applicationinsights.config Doit être mis à jour à l'aide de votre clé d'outil comme suit:


xml version="1.0" encoding="utf-8"?
<applicationinsights schemaversion="2014-05-30" xmlns="[url=http://schemas.microsoft.com/ApplicationInsights/2013/Settings">]http://schemas.microsoft.com/A ... gt%3B[/url]
<telemetrychannel>
<developermode>false</developermode>
</telemetrychannel>
<telemetrymodules>
<add type="Microsoft.ApplicationInsights.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights"></add>
</telemetrymodules>
<instrumentationkey>**your-instrumentation-key-guid**</instrumentationkey>
</applicationinsights>


Pour créer une boîte à outils clés application insights, Entrez votre abonnement azure.
https://portal.azure.com
Appuyez sur la touche + pour créer une ressource. Application Insights.
Puis sélectionnez les propriétés de la tuile dans la colonne application insights, Copiez la touche Toolkit et ajoutez-la au fichier. applicationinsights.config.
Maintenant dans votre application WPF vous pouvez utiliser Application Insights sdk, Comme décrit ici:
http://blogs.msdn.com/b/visual ... .aspx
Vos événements seront visibles dans la colonne de recherche de diagnostic, qui peut être sélectionnée dans la colonne. Application insights.

Remarque: Packs de télémétrie localement pendant 1 minutes avant d'envoyer au service, si seulement dans la file d'attente n'est pas > 500 Les événements de télémétrie, à ce stade, ils sont envoyés.

Giselle

Confirmation de:

https://azure.microsoft.com/en ... ktop/
/

Référence officielle OT. Microsoft Comment ajouter Application Insights dans l'application Windows Forms. De référence:

DANS Azure - portal.azure.com gg

Créer une ressource d'application. :: New / Developer Services / Application Insights.

Faites attention à la clé de l'outil générée, prenez la copie et la définissez de côté, il sera nécessaire de configurer votre application.

Dans votre application

Nuget-ajouter "application Insights API"

Configurez votre propre
TelemetryClient

.

j'utilise MvvmCross Dans l'application WPF, Quand commence, je crée un
TelemetryClient

, qui réutilisant toutes les applications.


var telemetryClient = new TelemetryClient//;
telemetryClient.InstrumentationKey = "your key here from Azure";
telemetryClient.Context.Session.Id = Guid.NewGuid//.ToString//;
telemetryClient.Context.User.AccountId = Username;
telemetryClient.Context.Component.Version = Settings.Default.Version;
telemetryClient.TrackEvent/"Application Start"/;
Mvx.RegisterSingleton<telemetryclient>/telemetryClient/;


Écrire event/screen/exception etc.

N'importe quand 'something happens' Je vais soluser
TelemetryClient

Et écrivez l'événement. C'est la même chose que toute autre mise en œuvre. Application Insights En ce qui concerne le suivi et l'enregistrement.

Par exemple -


//Resolve the telemetry client
readonly TelemetryClient telemetryClient = Mvx.Resolve<telemetryclient>//;

//Record a page View with some extra information
var pageviewTelemetry = new PageViewTelemetry/"Observations"/;
pageviewTelemetry.Properties.Add/"Breadcrumb", breadcrumb/;
telemetryClient.TrackPageView/pageviewTelemetry/;

//Track an event
var eventTelemetry = new EventTelemetry/"Observation Saved"/;
eventTelemetry.Properties.Add/"Saved Observation", observation/;
telemetryClient.TrackEvent/eventTelemetry/;

//Track an exception
try
{
// do work here
}
catch /Exception ex/
{
telemeteryClient.TrackException/ex/;
}


Rincer lorsque vous quittez l'application

Conclusions Demande de Windows Les applications de bureau ne collectent pas automatiquement/Envoyez quelque chose. En tant que développeur, vous devez réinitialiser de force lorsque vous quittez l'application.


private void PowerButton_OnClick/object sender, RoutedEventArgs e/
{
var tc = Mvx.Resolve<telemetryclient>//;
if /null != tc/
{
tc.Flush//; // only for desktop apps
}
Application.Current.Shutdown//;
}


Ou installer RxTimer pour se laver schedule...I, Décider de laver tout le monde 30 minutes:


var observable = Observable.Interval/new TimeSpan/0, 0, 30, 0//;
observable.Subscribe/_ =&gt; Application.Current.Dispatcher.Invoke/new Action/// =&gt;
{
var tc = Mvx.Resolve<telemetryclient>//;
if /null != tc/
{
tc.Flush//; // only for desktop apps
Console.WriteLine/"Flush TC"/;
}
}///;


Fyi-commencer par 0.17.0 Application de paquet Insights API NuGet, Si vous êtes hors ligne, appelez flush ne pend pas, mais il semble qu'il accroche. Dans l'appel en ligne, l'appel est terminé immédiatement, hors ligne Il existe une pause solide de 5 secondes avant de terminer l'appel.
</telemetryclient></telemetryclient></telemetryclient></telemetryclient>

Christine

Confirmation de:

Application Insights /AI/ Pour les applications de bureau obsolètes en faveur
https://www.nuget.org/packages/HockeySDK.WPF/
. Il n'est pas trop mature, mais ça marche /les événements, en fait, atteignent le même endroit que des événements AI/.

Par exemple, c'est comme ça que ça a l'air
https://github.com/aelij/Rosly ... el.cs
/éditeur WPF C#/:


using Microsoft.HockeyApp;


//In your initialization method:
var hockeyClient = /HockeyClient/HockeyClient.Current;

hockeyClient.Configure/HockeyAppId/
.RegisterCustomDispatcherUnhandledExceptionLogic/OnUnhandledDispatcherException/
.UnregisterDefaultUnobservedTaskExceptionHandler//;

var platformHelper = /HockeyPlatformHelperWPF/hockeyClient.PlatformHelper;
platformHelper.AppVersion = _currentVersion.ToString//;

hockeyClient.TrackEvent/"App Start"/;

//sometime later:
hockeyClient.TrackEvent/"Something happened"/;


EDIT

Il semble que le prochain colis soit requis pour le bon travail. NuGet:
https://www.nuget.org/packages ... round
/cm.
https://github.com/bitstadium/ ... ll/88
/.

Pour répondre aux questions, connectez-vous ou registre