Walkthrough: Creating and Accessing WCF Services
公開日: 2016年4月
このチュートリアルは、単純な Windows Communication Foundation (WCF) サービスを作成し、テストして、Windows フォーム アプリケーションからアクセスする方法を例示しています。
注意
次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。 これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。 詳細については、「IDE をカスタマイズする」をご覧ください。
サービスの作成
WCF サービスを作成するには
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスで、[Visual Basic] または [Visual C#] ノードを展開し、[WCF] をクリックしてから [WCF サービス ライブラリ] をクリックします。 [OK] をクリックして、プロジェクトを開きます。
注意
これにより、テストしてアクセスすることが可能な機能するサービスが作成されます。 次の 2 つの手順は、別のデータ型を使用するように既定の方法を変更する方法を示しています。 実際のアプリケーションで、独自の関数をサービスに追加することもできます。
-
ソリューション エクスプローラーで、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]
属性に注意してください。 これらの属性は、サービスによって公開されている任意のメソッドに必要です。 -
ソリューション エクスプローラーで、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 サービスをテストするには
F5 キーを押してサービスを実行します。 [WCF のテスト用クライアント] フォームが表示されて、サービスが読み込まれます。
[WCF のテスト用クライアント] フォームで、IService1 の下の GetData() メソッドをダブルクリックします。 [GetData] タブが表示されます。
[要求] ボックスで、[値] フィールドを選択して
Hello
と入力します。[起動] ボタンをクリックします。 [セキュリティ警告] ダイアログ ボックスが表示された場合、[OK] をクリックします。 結果が [応答] ボックスに表示されます。
[ファイル] メニューの [終了] をクリックして、テスト フォームを閉じます。
サービスへのアクセス
WCF サービスを参照するには
[ファイル] メニューの [追加] をポイントし、[新しいプロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスで、[Visual Basic] ノードまたは [Visual C#] ノードを展開し、[Windows] を選択して [Windows フォーム アプリケーション] を選択します。 [OK] をクリックして、プロジェクトを開きます。
[WindowsApplication1] を右クリックして [サービス参照の追加] をクリックします。 [サービス参照の追加] ダイアログ ボックスが表示されます。
[サービス参照の追加] ダイアログ ボックスで [探索] をクリックします。
Service1 が [サービス] ペインに表示されます。
[OK] をクリックしてサービス参照を追加します。
クライアント アプリケーションをビルドするには
ソリューション エクスプローラーで、[Form1.vb] または [Form1.cs] をダブルクリックして、Windows フォーム デザイナーを (まだ開いていない場合に) 開きます。
ツールボックスで、
TextBox
コントロール、Label
コントロール、およびButton
コントロールをフォームにドラッグします。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
ソリューション エクスプローラーで、[WindowsApplication1] を右クリックして [スタートアップ プロジェクトに設定] をクリックします。
F5 キーを押してプロジェクトを実行します。 いくつかのテキストを入力し、ボタンをクリックします。 ラベルに「You entered:」と入力したテキストが表示されます。