ServiceDebug サンプルでは、サービス デバッグ動作の設定を構成する方法を示します。 このサンプルは、 サービス コントラクトを実装する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
に設定することによって行われます。 この設定は、サーバーが予期しない例外をスローしている場合にデバッグする場合に便利です。Von Bedeutung
運用環境でこの設定を有効にしても安全ではありません。 予期しないサーバー例外には、クライアント向けではない情報が含まれている可能性があるため、
includeExceptionDetailsInFaults
をtrue
に設定すると、情報が漏洩する可能性があります。<serviceDebug>では、ユーザーがヘルプ ページを有効または無効にすることもできます。 各サービスは、必要に応じて、サービスの WSDL を取得するためのエンドポイントを含むサービスに関する情報を含むヘルプ ページを公開できます。 これを有効にするには、
httpHelpPageEnabled
をtrue
に設定します。 これにより、サービスのベース アドレスに対する GET 要求にヘルプ ページが返されます。 このアドレスを変更するには、別の属性httpHelpPageUrl
を設定します。 これは、HTTP ではなく HTTPS を使用してセキュリティで保護できます。 これを行うには、httpsHelpPageEnabled
とhttpsHelpPageUrl
を設定します。
サンプルを実行すると、操作要求と応答がクライアント コンソール ウィンドウに表示されます。 最初の 3 つの操作 (加算、減算、乗算) は成功する必要があります。 最後の操作 ("除算") は、0 除算例外で失敗します。
サンプルを設定、ビルド、実行するには
Windows Communication Foundation サンプル のOne-Time セットアップ手順を実行していることを確認します。
ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
単一または複数のコンピューター間の構成でサンプルを実行するには、「Windows Communication Foundation Samplesの実行」の手順に従います。