次の方法で共有


WCF デバッグの制約

更新 : 2007 年 11 月

このトピックの内容は、次の製品に該当します。

Edition

Visual Basic

C#

C++

Web Developer

Express

トピック該当なし トピック該当なし トピック該当なし トピック該当なし

標準

トピック該当 トピック該当 トピック該当なし トピック該当

Pro/Team

トピック該当 トピック該当 トピック該当なし トピック該当

表の凡例 :

トピック該当

対象

トピック該当なし

該当なし

トピックは該当しますが、コマンドは既定では非表示です

既定で非表示のコマンド

WCF サービスのデバッグを開始するには、次の 3 つの方法があります。

  • サービスを呼び出すクライアント プロセスをデバッグします。デバッガがサービスにステップ インします。サービスは、クライアント アプリケーションと同じソリューションになくてもかまいません。

  • サービスを要求するクライアント プロセスをデバッグします。サービスは、ソリューションの一部である必要があります。

  • [プロセスにアタッチ] を使用して、現在実行されているサービスにアタッチします。サービス内部でデバッグが開始されます。

このトピックでは、これらのシナリオの制約について説明します。

サービスへのステップ インの制約

デバッグ中のクライアント アプリケーションのサービスにステップ インするには、次の条件を満たす必要があります。

  • クライアントは、同期クライアント オブジェクトを使用してサービスを呼び出す必要があります。

  • コントラクト操作では、一方向の操作を使用できません。

  • サーバーが非同期の場合、サービスのコードを実行している間は、完全な呼び出し履歴を表示できません。

  • app.config ファイルまたは Web.config ファイルの次のコードでデバッグが有効にされている必要があります。

    <system.web>
      <compilation debug="true" />
    <system.web>
    

    このコードは一度だけ追加する必要があります。コードを追加するには、.config ファイルを編集するか、[プロセスにアタッチ] を使用してサービスにアタッチします。サービスで [プロセスにアタッチ] を使用すると、デバッグ コードが自動的に .config ファイルに追加されます。その後は、.config ファイルを編集せずにサービスをデバッグし、ステップ インできます。

サービスからのステップ アウトの制約

サービスからステップ アウトしてクライアントに戻る際には、サービスへのステップ インと同じ制約があります。また、デバッガをクライアントにアタッチする必要があります。クライアントをデバッグし、サービスにステップ インしても、デバッガはサービスにアタッチしたままです。これは、[デバッグ開始] を使用してクライアントを起動する場合にも、[プロセスにアタッチ] を使用してアタッチする場合にも当てはまります。サービスにアタッチしてデバッグを開始した場合、デバッガはまだクライアントにアタッチされていません。このとき、サービスからステップ アウトしてクライアントに戻る必要がある場合は、最初に [プロセスにアタッチ] を使用して、クライアントに手動でアタッチします。

サービスへのオート アタッチの制約

サービスへのオート アタッチには、次の制約があります。

  • サービスは、デバッグしている Visual Studio ソリューションの一部である必要があります。

  • サービスはホストされている必要があります。サービスは、Web サイト プロジェクト (ファイル システムおよび HTTP)、Web アプリケーション プロジェクト (ファイル システムおよび HTTP)、または WCF サービス ライブラリ プロジェクトの一部にすることができます。WCF サービス ライブラリ プロジェクトは、サービス ライブラリまたはワークフロー サービス ライブラリです。

  • サービスは、WCF クライアントから起動される必要があります。

  • app.config ファイルまたは Web.config ファイルの次のコードでデバッグが有効にされている必要があります。

    <system.web>
      <compilation debug="true" />
    <system.web>
    

セルフホスト

セルフホストされているサービスは、IIS 内部で実行されていない WCF サービス、WCF サービス ホスト、または ASP.NET 開発サーバーです。セルフホストされているサービスをデバッグする方法については、「方法 : セルフホストされている WCF サービスをデバッグする」を参照してください。

参照

処理手順

方法 : セルフホストされている WCF サービスをデバッグする

その他の技術情報

WCF サービスのデバッグ