次の方法で共有


Walkthrough: Creating and Accessing WCF Services

 

公開日: 2016年4月

このチュートリアルは、単純な Windows Communication Foundation (WCF) サービスを作成し、テストして、Windows フォーム アプリケーションからアクセスする方法を例示しています。

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「IDE をカスタマイズする」をご覧ください。

サービスの作成

WCF サービスを作成するには

  1. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスで、[Visual Basic] または [Visual C#] ノードを展開し、[WCF] をクリックしてから [WCF サービス ライブラリ] をクリックします。 [OK] をクリックして、プロジェクトを開きます。

    WCF サービス ライブラリ プロジェクト

    注意

    これにより、テストしてアクセスすることが可能な機能するサービスが作成されます。 次の 2 つの手順は、別のデータ型を使用するように既定の方法を変更する方法を示しています。 実際のアプリケーションで、独自の関数をサービスに追加することもできます。

  3. IService1 ファイル

    ソリューション エクスプローラーで、IService1.vb または IService1.cs をダブルクリックし、次の行を探します。

            [OperationContract]
            string GetData(int value);
    
        <OperationContract()>
        Function GetData(ByVal value As Integer) As String
    

    value パラメーターの種類を String に変更します。

            [OperationContract]
            string GetData(string value);
    
        <OperationContract()>
        Function GetData(ByVal value As String) As String
    

    上記のコードで、<OperationContract()> または [OperationContract] 属性に注意してください。 これらの属性は、サービスによって公開されている任意のメソッドに必要です。

  4. Service1 ファイル

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

            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
    
        Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData
            Return String.Format("You entered: {0}", value)
        End Function
    

    値パラメーターの種類を String に変更します。

            public string GetData(string value)
            {
                return string.Format("You entered: {0}", value);
            }
    
        Public Function GetData(ByVal value As String) As String Implements IService1.GetData
            Return String.Format("You entered: {0}", value)
        End Function
    

サービスのテスト

WCF サービスをテストするには

  1. F5 キーを押してサービスを実行します。 [WCF のテスト用クライアント] フォームが表示されて、サービスが読み込まれます。

  2. [WCF のテスト用クライアント] フォームで、IService1 の下の GetData() メソッドをダブルクリックします。 [GetData] タブが表示されます。

    GetData() メソッド

  3. [要求] ボックスで、[値] フィールドを選択して Hello と入力します。

    [値] フィールド

  4. [起動] ボタンをクリックします。 [セキュリティ警告] ダイアログ ボックスが表示された場合、[OK] をクリックします。 結果が [応答] ボックスに表示されます。

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

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

サービスへのアクセス

WCF サービスを参照するには

  1. [ファイル] メニューの [追加] をポイントし、[新しいプロジェクト] をクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスで、[Visual Basic] ノードまたは [Visual C#] ノードを展開し、[Windows] を選択して [Windows フォーム アプリケーション] を選択します。 [OK] をクリックして、プロジェクトを開きます。

    Windows フォーム アプリケーション プロジェクト

  3. [WindowsApplication1] を右クリックして [サービス参照の追加] をクリックします。 [サービス参照の追加] ダイアログ ボックスが表示されます。

  4. [サービス参照の追加] ダイアログ ボックスで [探索] をクリックします。

    [サービス参照の追加] ダイアログ ボックス

    Service1[サービス] ペインに表示されます。

  5. [OK] をクリックしてサービス参照を追加します。

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

  1. ソリューション エクスプローラーで、[Form1.vb] または [Form1.cs] をダブルクリックして、Windows フォーム デザイナーを (まだ開いていない場合に) 開きます。

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

    フォームへのコントロールの追加

  3. 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;
            }
    
        Private Sub Button1_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles Button1.Click
            Dim client As New ServiceReference1.Service1Client
            Dim returnString As String
    
            returnString = client.GetData(TextBox1.Text)
            Label1.Text = returnString
        End Sub
    
  4. ソリューション エクスプローラーで、[WindowsApplication1] を右クリックして [スタートアップ プロジェクトに設定] をクリックします。

  5. F5 キーを押してプロジェクトを実行します。 いくつかのテキストを入力し、ボタンをクリックします。 ラベルに「You entered:」と入力したテキストが表示されます。

    結果を表示するフォーム

参照

ASMX サービスと WCF サービスを利用するサンプル