2009-02-23 16 views
12

ASP.NETでは、通常、サーバーサイドで例外をログに記録します.Windowsフォームでは、例外をサーバーサイドでログに記録するか、クライアント上のログファイルに書き込むことができます。 Silverlightは間にどこかに収まるようだ。Silverlightでの例外処理のベストプラクティスは何ですか?

Silverlightの例外を処理するために他の人が何をしているのか知りたかったので、これについてのベストプラクティスがまだ浮上していれば私は興味がありました。

答えて

5

&トラックを格納できる実際のロギングでは、クライアント上で何かが保証されることは保証できないため、サーバー上で実行する必要があります。

私は、あなたがASP.net

で行うログインするのと同じようなものを行うことになる(多分あなたは既に持っている)、サーバ側のWebサービスの「のLogEvent(..)」メソッドを暴露することをお勧めここですあなたはまだ http://silverlight.net/learn/learnvideo.aspx?video=66723

私は私の最初の推測がウェブにログインするための最良のpracticiesを行うことであろう、しかし任意のログインのベストプラクティスについてはよく分からないというSilverlightの基本的なWebサービスの呼び出しについてのビデオを行っていない場合サーバ上でサービスを行い、それをクライアントに公開します。

希望すると便利です。

4

私はSilverlightがASP.NET側のモデルよりはるかに優れていると言います。あなたはウェブページを提供するサーバーを持っています。ページ上のオブジェクト(Silverlightアプリケーション)は、データサービスをpingしてデータを取得して表示します。

すべてのデータアクセスはサーバー側で行われ、サーバー上でASP.NETページを作成するためにデータが使用されるか、表示用にRIAに送信されるかは関係ありません。私は、サーバー側(イベントログが正常に動作)でデータサービスの任意の失敗を記録し、WCFに渡す例外を許可しません。クライアントが期待されるデータを受け取らないと(それはヌル・コレクションなどを取得します)、一般的なデータ・アクセス・エラーをユーザーに表示します。アクセス拒否/欠落データベース/インフラストラクチャ障害/内部エラー/などを区別するために、もう少し情報を渡すためにすぐに拡張する必要があるかもしれませんが、例外エラーメッセージをクライアントに渡す予定はありません。

クライアントサイドでは、非同期呼び出しがタイムアウトになることがあります。これは単なる別のメッセージです。クライアントコードの一般的な例外(通常は私たちのコードのバグ)については、スクリプト例外と同じ方法で表示するためにブラウザに例外を渡すだけです。

4

Isolated Storage available for Silverlight applicationを使用してください。ここにあなたのログを保存してください。

次に、WindowsのバグレポートサービスのようなWebサービスにユーザーログを送信するためのマカニズムを開発することができます。

0

これは、開発しているアプリケーションの種類によって大きく異なります。

mvc/mvpベースのアーキテクチャの場合は、モデル、または少なくともそのほとんどがサーバー上にあります。ここではほとんどの例外がスローされ、そこにログオンすることができますユーザーにメッセージを表示するかどうかを選択します。

クライアントからの例外については、詳細を知りたいので、返信してください。

4

Silverlight Integration Pack for Enterprise LibraryMicrosoft patterns & practicesからご覧ください。隔離されたストレージまたはリモートサービスへの例外の記録をサポートし、外部設定のポリシーまたはプログラムによって構成可能です。バッチロギングと自動再試行(時折接続されたシナリオの場合)もサポートされています。

+0

最終バージョンは先週リリースされました。すべてのコンポーネントはNuGet経由で入手できます。 http://bit.ly/jDscwl –

+0

また、最近のChannel9のスクリーンキャストでは、Silverlight用の例外処理アプリケーションブロックの使用方法を紹介しています:https://channel9.msdn.com/posts/Enterprise-Library- for Silverlight-Exception-handling-demo –

関連する問題