0

次のリンクに示すように、Silverlight-4で未処理の例外をキャッチするコード(Elmah Everywhere)を実装しました

https://github.com/vincoss/vinco-logging-toolkit

コードサンプルフォームのリンクもダウンロードしましたが、未処理の例外が保存されている場所が見つかりません。

私はasp.netにElmahを実装しましたが、通常、domainname / elmah.axd(web.configで指定)で未処理の例外をすべて確認できます。

未処理のすべての例外がSilverlightに格納される場所を見つけるのを手伝ってください。

または、同じことを実現できるライブラリを誰かに提案してもらえますか。

前もって感謝します

4

1 に答える 1

2

Silverlight で発生した例外は、データベースに格納されます。Silverlight の例外処理を構成する方法については、ドキュメントを確認してください。

データベースは、プロジェクト フォルダー「Vinco.Elmah.Everywhere\Source\ErrorWebSite\App_Data\ Elmah.Everywhere.mdf」にあります。</p>

このデータベースを MS SQL Server に接続します。

Elmah.Everywhere コードベースが最近更新され、新しい機能とより優れたサンプルが追加されました。

サンプルを実行してから、ログに記録されたエラーを参照してください。

URL: http://localhost:11079/elmah

注: Elmah.Everywhere ログは、エラーをリモート サイトに記録するように設計されています。Elmah.Everywhere ログを最大限に活用するには、Web サイトを作成するか、エラーが記録されるサンプルから既存の「ErrorWebSite」を使用します。これにより、中央データベースにエラーを記録する複数のプロジェクトを持つことができます。異なるプロジェクトを区別するには、ExceptionDefaults の ApplicationName を変更するだけです。

サンプル Silverlight 構成

次の例に示すように、エラー ログを構成できます。

private static void SetUpExceptionHandler()
{
    Uri uri = Application.Current.Host.Source;
        string currentHost = string.Format("{0}{1}{2}:{3}", uri.Scheme, Uri.SchemeDelimiter, uri.Host, uri.Port);

    // Configure
    var writter = new ClientHttpExceptionWritter
    {
    // NOTE: Possible to pass URI by startup arguments.
            RequestUri = new Uri(string.Format("{0}/error/log", currentHost), UriKind.Absolute)
    };

    var defaults = new ExceptionDefaults
    {
    Token = "Silverlight-Test-Token",
    ApplicationName = "Silverlight-Sample",
    Host = string.Format("{0}{1}{2}:{3}", uri.Scheme, Uri.SchemeDelimiter, uri.Host, uri.Port)
    };
    ExceptionHandler.Configure(writter, defaults);
}

アプリケーション コンストラクターでは、ハンドラーのセットアップ メソッドを呼び出します。

public App()
{
    SetUpExceptionHandler();
}

Application_UnhandledException メソッドにハンドラー ログを追加します。

private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
    ExceptionHandler.Report(e.ExceptionObject, null);
}

この構成では、Silverlight ホスト URL に対してエラーがログに記録されます。Elmah.Everywhere.dll、Elmah.dll が bin フォルダーにあり、構成の詳細が Web.config ファイルにあることを確認してください。

To view errors in browser see “ErrorWebSite” sample. URL should look like this. http://yourdomain.com/elmah

For more information please see provided samples.

于 2012-07-26T13:32:24.513 に答える