次の方法で共有


チュートリアル: .NET Framework Windows フォームで WCF サービスを作成する

このチュートリアルでは、Windows Communication Foundation (WCF) サービスを作成してテストし、.NET Framework Windows フォーム アプリケーションからアクセスする方法について説明します。

あなたのコンピューターでは、この記事中の Visual Studio のユーザーインターフェイス要素の名前や場所が異なる場合があります。 別のエディションの Visual Studio または異なる環境設定を使用している場合があります。 詳細については、「IDEのカスタマイズ」を参照してください。

前提条件

Windows Communication Foundation コンポーネントがインストールされている Visual Studio。 インストールするには:

  1. Visual Studio インストーラー アプリを開くか、Visual Studio メニューから [ツール>Get Tools and Features] を選択します。
  2. Visual Studio インストーラーで、変更する Visual Studio のバージョンの横にある [変更] を選択します。
  3. [個々のコンポーネント] タブを選択し、[開発アクティビティ] で [Windows Communication Foundation] を選択します。
  4. [変更] を選択します。

詳細については、「 Visual Studio のワークロード、コンポーネント、言語パックの変更」を参照してください。

WCF サービスを作成する

Visual Studio で WCF サービスを作成するには、次の手順に従います。

  1. Visual Studio で、メニューから [ファイル>新規作成>Project を選択します。

  2. [ 新しいプロジェクトの作成 ] ページで、検索ボックスに 「WCF サービス ライブラリ 」と入力します。 WCF サービス ライブラリの C# または Visual Basic テンプレートを選択し、[次へ] を選択します。

    Visual Studio で WCF サービス ライブラリ プロジェクトを作成する方法を示すスクリーンショット。

    ヒント

    テンプレートが表示されない場合は、Visual Studio の Windows Communication Foundation コンポーネントのインストールが必要になる場合があります。 詳細については、「前提条件」を参照してください

  3. [ 新しいプロジェクトの構成] ページで、設定を確認し、[ 作成] を選択します。

    この手順では、テストしてアクセスできる動作する WCF サービスを作成します。 次の手順では、別のデータ型を使用するように既定のメソッドを変更する方法を示します。 実際のアプリケーションでは、独自の関数をサービスに追加することもできます。

  4. ソリューション エクスプローラーで、作成したプロジェクト種類に応じて、WCF サービス ライブラリ プロジェクトのIService1.csまたはIService1.vbをダブルクリックします。

    ソリューション エクスプローラーの IService1 ファイルを示すスクリーンショット。

  5. 以下の列を検索します:

    [OperationContract]
    string GetData(int value);
    

  1. value パラメーターの型を文字列に変更します。

    このコード例では、 OperationContract 属性に注意してください。 この属性は、サービスによって公開されるすべてのメソッドに必要です。

    [OperationContract]
    string GetData(string value);
    

  1. ソリューション エクスプローラーでService1.csまたはService1.vbをダブルクリックします。

    ソリューション エクスプローラーの Service1 ファイルを示すスクリーンショット。

  2. エディターで、次の行を見つけます。

    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }
    

  1. 次のように、 value パラメーターの型を文字列に変更します。

    public string GetData(string value)
    {
        return string.Format("You entered: {0}", value);
    }
    

WCF サービスをテストする

作成した WCF サービスをテストするには、次の手順に従います。

  1. F5 キーを押してサービスを実行します。

    WCF テスト クライアント フォームが表示され、サービスが読み込まれます。

  2. IService1 で、GetData() メソッドをダブルクリックします。

    [ GetData ] タブが [WCF テスト クライアント ] フォームに表示されます。

    WCF テスト クライアント フォームの GetData メソッドを示すスクリーンショット。

  3. [GetData] タブの [要求] ボックスで、[] フィールドを選択し、「Hello」と入力します。

    [GetData] タブの [値] フィールドを示すスクリーンショット。

  4. [ 呼び出し ] ボタンを選択します。 [セキュリティ警告] ダイアログ ボックスが表示されたら、[OK] を選択します

    結果が [応答 ] ボックスに表示されます。

    [GetData] タブの [応答] ボックスに表示される結果を示すスクリーンショット。

  5. [ ファイル ] メニューの [ 終了 ] を選択してテスト フォームを閉じます。

WCF サービスにアクセスする

WCF サービスを作成してテストしたら、プロジェクトからそれを参照し、それを使用してクライアント アプリケーションを構築できます。

WCF サービスを参照する

プロジェクトから WCF サービスを参照するには、次の手順に従います。

  1. [ ファイル>追加>新しいプロジェクトを選択します。

  2. [ 新しいプロジェクトの追加 ] ウィンドウで、C# または Visual Basic Windows フォーム アプリ (.NET Framework) プロジェクトを選択します。 [ 次へ] を選択し、[ 作成] を選択してプロジェクトを作成します。

  3. ソリューション エクスプローラーで、新しいプロジェクトのプロジェクト ノードを右クリックし、[追加>Service 参照] を選択します。

    [ サービス参照の追加 ] ダイアログ ボックスが表示されます。

  4. [ 検出] を選択します。

    [サービス参照の追加] ダイアログ ボックスを示すスクリーンショット。

    [サービス] ウィンドウに Service1 が表示されます。

  5. [ OK] を 選択してサービス参照を追加します。

クライアント アプリケーションをビルドする

WCF サービス参照を使用してクライアント アプリケーションをビルドするには、次の手順に従います。

  1. ソリューション エクスプローラーで、Windows フォーム アプリでForm1.csまたはForm1.vbをダブルクリックします。

    Windows フォーム デザイナーでフォームが開きます。

  2. メニューから [表示>Toolbox] を選択してツールボックスを開くか、キーボードから Ctrl+Alt+X キーを押します。

  3. ツールボックスから、TextBox コントロール、ラベル コントロール、および Button コントロールをフォームにドラッグします。

    クライアント アプリケーション フォームにコントロールを追加する方法を示すスクリーンショット。

  4. Button コントロールをダブルクリックし、Click イベント ハンドラーに次のコードを追加します。

    private void button1_Click(System.Object sender, System.EventArgs e)
    {
        ServiceReference1.Service1Client client = new
            ServiceReference1.Service1Client();
        string returnString;
    
        returnString = client.GetData(textBox1.Text);
        label1.Text = returnString;
    }
    
  5. ソリューション エクスプローラーで、プロジェクト ノード (WindowsFormsApp1 など) を右クリックし、[スタートアップ プロジェクトとして設定] を選択します。

  6. F5 キーを押してプロジェクトを実行します。 テキストを入力し、ボタンを選択します。 ラベルには、「あなたが入力した内容は:」と表示され、その後にテキストが続きます。

    実行中のクライアント アプリケーション フォームに表示される結果を示すスクリーンショット。