2012-01-26 3 views
0

私は適切な場合、エラーメッセージを送信するWebサービスを持っています。webserviceで条件付きデバッグするには?

これらのエラーメッセージは、本番モードではかなり限定的(「Internal Crash」)に、デバッグモードではかなり徹底したいと思います。

私は[Conditional("DEBUG")]を使用することを考えましたが、を返すメソッドでのみ動作します。

私は本当に私のエラーメッセージの周り#ifdefを使用する必要があり、または使用のような黒の不可解magickingが(それは私見だとして、条件付きメソッドは、私にはかなり醜いと思われる「デバッグモード」、に入るためにWebServiceオブジェクトを伝えるために言ってくださいオブジェクトがまったく意識しているべきものではない)?

私が知らないトリックや適切な方法はありますか?

+0

あなたが問題を見つけることができるようにデバッグモード中にいくつかのsample.csファイルで同じプロセスを試してみてください... – Madhu

+0

現在のところ問題はありません。これは設計上の問題です。 – Kheldar

答えて

0

WCFですべての例外をキャッチし、プロダクションモードになっている場合はほとんどのエラー情報を取り除く動作をセットアップできます。 web.configファイルにフラグを設定してモードを設定できます。

+0

ええ、私はそれを知っていますが、Webサービス自体が特定のエラー情報(クライアント要件)を送信しています。現在、私は#ifdefより少し安全だと思われる "黒い魔法"のやり方をしていますが、webconfigの解決策は私のコードが捕捉して転送する例外を変更しません。 – Kheldar

+0

実際の例外を再現する必要はありません。サーバー側でログに記録し、さらに詳細なFaultExceptionをスローすることができます。例外タイプと送信するメッセージで辞書を設定する可能性があります。一致しない場合は、単に「内部クラッシュ」メッセージを送信することができます。そうすれば、詳細情報が届かないでしょう – Mharlin

+0

デバッグモードであれば、詳細情報を送信したいのですが。 DEBUGモードを使用しているときは、オブジェクトにオブジェクトを書き込むよりも、例外の問題は少なくなります。私は1つの解決策は、条件オブジェクトに渡された応答オブジェクトを持っているだろうと思うし、それによって修正? – Kheldar