サービス デバッグ動作
このサンプルでは、サービス デバッグ動作の設定を構成する方法を示します。このサンプルは、ICalculator
サービス コントラクトを実装する「入門サンプル」に基づいています。このサンプルは、サービス デバッグ動作を構成ファイルで明示的に定義します。コードで強制的に定義することもできます。
この例では、クライアントはコンソール アプリケーション (.exe) で、サービスはインターネット インフォメーション サービス (IIS) によってホストされます。
メモ : |
---|
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。 |
サーバーの 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 を使用して宣言されていない場合でも、サービスでは、アプリケーション コードによってスローされる例外を返すことができます。これを行うには、includeExceptionDetailInFaults を true に設定します。この設定は、サーバーが予期しない例外をスローしている場合のデバッグ時に役立ちます。
メモ : この設定を本運用環境で有効にすると、セキュリティが不十分になります。サーバーの予期しない例外には、クライアントを対象としていない情報が含まれる場合があるため、includeExceptionDetailsInFaults を true に設定すると、情報の漏えいが発生する可能性があります。
また、serviceDebug を使用することにより、ユーザーがヘルプ ページを有効または無効にできます。各サービスは、サービスの WSDL を取得するエンドポイントなど、サービスに関する情報が含まれるヘルプ ページをオプションで公開できます。これを有効にするには、httpHelpPageEnabled プロパティを true に設定します。これにより、サービスの基本アドレスへの GET 要求に対して、ヘルプ ページを返すことができます。このアドレスは、別の属性 httpHelpPageUrl を設定して変更できます。HTTP の代わりに HTTPS を使用すると、このアドレスをセキュリティ保護できます。これを行うには、httpsHelpPageEnabled と httpsHelpPageUrl を設定します。
このサンプルを実行すると、操作要求および応答がクライアントのコンソール ウィンドウに表示されます。最初の 3 つの操作 (加算、減算、乗算) が正常に行われる必要があります。最後の操作 (除算) は、0 による除算の例外によってエラーとなります。
サンプルを設定、ビルド、および実行するには
「Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
サンプルを単一コンピュータ構成または複数コンピュータ構成で実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。
Copyright © 2007 by Microsoft Corporation.All rights reserved.