• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

.NETエージェントの処理エラー報告

問題

New Relic の .NET エージェントは、処理されたエラーを標準的なエラーであるかのように報告します。これは、Azure のワーカーロール、コンソールアプリ、非同期作業、および同様の操作で最もよく見られます。

解決

誤ったエラー・レポートを避けるために、例外ハンドラを直接または間接的に含むメソッドをインスツルメンテーションします。この例のように、 カスタム・インスツルメンテーション ファイルを定義するか、 カスタム・トランザクション でメソッドをラップすることで、ターゲット・メソッドをインストゥルメントします。

原因

New Relic の .NET エージェントが報告するエラーは、トランザクションを終了する処理されないエラーのみです。トランザクションが終了する前にアプリが例外ハンドラを呼び出した場合、New Relic はエラーを報告しません。

しかし、New Relic は、エラーが Web トランザクション、WCF トランザクション、またはカスタム トランザクションの外で発生した場合、例外ハンドラを必ずしも検出しません。これは、エージェントが"ミニトランザクション" を、トランザクションに関連付けられていないインスツルメンテッド・メソッドのために作成するためです。

計装化されたメソッドが終了すると、ミニトランザクションが終了します。ミニトランザクションがエラーを投げ、インスツルメンテッド・メソッドがそれを処理しない場合、New Relic はエラーを報告します。

これは、に示すように、 GetResponse()を呼び出すコンソールアプリで確認できます。 GetResponseがエラーをスローした場合、 GetResponse()がtry / catchブロック内で呼び出されても、NewRelicはそれを報告します。 GetResponse() "mini-transaction"が終了し、トランザクションの終了時にエラーがまだ処理されていないため、エージェントはエラーを報告します。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.