8

UIをどのようにインストルメント化していますか?過去に、人々がユーザーインターフェイスをインストルメント化したことを読みましたが、私が見つけられなかったのは、UIをインストルメント化する方法の例またはヒントです。

インストルメンテーションとは、システムの使用状況とパフォーマンスに関するデータを収集することを意味します。Instrumentationに関するMSDNの記事は、http://msdn.microsoft.com/en-us/library/x5952w0c.aspxです。ユーザーがクリックするボタン、使用するキーボードショート、検索に使用する用語などをキャプチャしたいと思います。

  • UIをどのようにインストルメント化していますか?
  • インストルメンテーションを保存している形式は何ですか?
  • 計測されたデータをどのように処理していますか?
  • このインストルメンテーションロジックを使用して、UIコードをどのようにクリーンに保ちますか?

具体的には、UIをWPFに実装しているため、Webベースのアプリケーションをインストルメント化する場合に比べて追加の課題が発生します。(つまり、計測されたデータを中央の場所に転送する必要があるなど)。とは言うものの、このテクノロジーは、アタッチされたプロパティなどの概念を介して、インストルメンテーションのより簡単な実装を提供する可能性があると感じています。

  • WPFアプリケーションをインストルメントしましたか?これを実現するためのヒントはありますか?

編集:次のブログ投稿は興味深い解決策を示しています:Pixel-In-Geneブログ:WPFアプリでのUI監査の手法

4

7 に答える 7

3

次のブログ投稿は、WPFアプリケーションをインストルメント化するためのかなりの数の優れたアイデアを提供します 。WPFアプリでのUI監査の手法

于 2008-08-28T02:08:26.253 に答える
2

log4netを検討することができます。これは、単一のDLLに存在する堅牢なロギングフレームワークです。また、「要求の少ない」タイプモードで実行されるため、重要なプロセスが進行中の場合、リソースがもう少し解放されるまでログに記録されません。

多数のINFOレベルのロガーを簡単にセットアップし、必要なすべてのユーザーインタラクションを追跡でき、ファイルを自分に送信するのにバグクラッシュは発生しません。次に、すべてのERRORコードとFATALコードをログに記録して、処理のために簡単にメールで送信できるファイルを分離することもできます。

于 2008-08-11T23:02:48.060 に答える
2

WPF コマンドを使用する場合、各カスタム コマンドは実行されたアクションをログに記録できます。コマンドが開始された方法をログに記録することもできます。

于 2008-08-12T04:38:19.957 に答える
0

おそらく、WPF用のMicrosoft UIオートメーションが役に立ちますか?UIを自動化するためのフレームワークであり、おそらくログに記録するために使用できます...

WPFでUIを自動テストするためにAutomationFrameworkを使用します。

于 2008-08-12T11:31:13.367 に答える
-1

免責事項:私はこの製品を販売している会社で働いていますが、それだけでなく、この特定の製品の開発者でもあります:)。

これを提供する商用製品に興味がある場合は、.NETアプリケーションに使用状況追跡機能を注入するRuntime Intelligence(Dotfuscatorへの機能アドオン)を利用できます。追跡機能の実際の実装だけでなく、データ収集、処理、およびレポート機能も提供します。

最近、このトピックに関するBusiness of Softwareフォーラムで、私もここに投稿したディスカッションがありました:http ://discuss.joelonsoftware.com/default.asp?biz.5.680205.26 。

私たちのものの概要については、ここを参照してください:http: //www.preemptive.com/runtime-intelligence-services.html

さらに、私は現在、より技術的なドキュメントの作成に取り組んでいます。これは間違いなく改善できる領域であると認識しているため、完了時に通知を受け取ることに関心がある場合はお知らせください。

于 2008-10-02T21:17:23.260 に答える
-1

私はまだWPFを使用して開発していません。しかし、UIコードをできるだけ軽量に保ちたいという点で、他のほとんどのアプリケーションと同じだと思います。MVCファサード。個人的には、UIレイヤーとBLレイヤーの間を移動するオブジェクトをできるだけ軽くし、可能であればそれらをプリミティブに保つように常に心がけています。

これにより、(プリミティブ)データを元に戻すと何も起こらずにUIレイヤーの改善に集中できます。

私はあなたの質問を正しく理解したことを望みます、そして申し訳ありませんが、WPFに関してこれ以上の文脈上の助けを提供することはできません。

于 2008-08-11T21:21:31.977 に答える