次の方法で共有


サービス デバッグ動作

Download sample

このサンプルでは、サービス デバッグ動作の設定を構成する方法を示します。このサンプルは、ICalculator サービス コントラクトを実装する「入門サンプル」に基づいています。このサンプルは、サービス デバッグ動作を構成ファイルで明示的に定義します。コードで強制的に定義することもできます。

この例では、クライアントはコンソール アプリケーション (.exe) で、サービスはインターネット インフォメーション サービス (IIS) によってホストされます。

Noteメモ :

このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。

サーバーの Web.config ファイルでは、次のサンプルに示すように、ヘルプ ページと例外処理を有効にするサービス デバッグ動作を定義します。

<behaviors>
     <serviceBehaviors>
         <behavior name="CalculatorServiceBehavior">
         <!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
         <!-- Please set this to false when deploying -->
             <serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
         </behavior>
     </serviceBehaviors>
</behaviors>

serviceDebug は、サービス デバッグ動作のプロパティを変更可能にする構成要素です。ユーザーはこの動作を変更して、次を実現することができます。

  • 例外が FaultContractAttribute を使用して宣言されていない場合でも、サービスでは、アプリケーション コードによってスローされる例外を返すことができます。これを行うには、includeExceptionDetailInFaultstrue に設定します。この設定は、サーバーが予期しない例外をスローしている場合のデバッグ時に役立ちます。

    Note メモ :

    この設定を本運用環境で有効にすると、セキュリティが不十分になります。サーバーの予期しない例外には、クライアントを対象としていない情報が含まれる場合があるため、includeExceptionDetailsInFaultstrue に設定すると、情報の漏えいが発生する可能性があります。

  • また、serviceDebug を使用することにより、ユーザーがヘルプ ページを有効または無効にできます。各サービスは、サービスの WSDL を取得するエンドポイントなど、サービスに関する情報が含まれるヘルプ ページをオプションで公開できます。これを有効にするには、httpHelpPageEnabled プロパティを true に設定します。これにより、サービスの基本アドレスへの GET 要求に対して、ヘルプ ページを返すことができます。このアドレスは、別の属性 httpHelpPageUrl を設定して変更できます。HTTP の代わりに HTTPS を使用すると、このアドレスをセキュリティ保護できます。これを行うには、httpsHelpPageEnabledhttpsHelpPageUrl を設定します。

このサンプルを実行すると、操作要求および応答がクライアントのコンソール ウィンドウに表示されます。最初の 3 つの操作 (加算、減算、乗算) が正常に行われる必要があります。最後の操作 (除算) は、0 による除算の例外によってエラーとなります。

サンプルを設定、ビルド、および実行するには

  1. Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。

  2. ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。

  3. サンプルを単一コンピュータ構成または複数コンピュータ構成で実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.