Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

WCFをはじめました(クライアント編)

前回(以下のエントリー)の続きです。
WCFをはじめました(サービス編) - プログラマーな日々
WCFをはじめました。 今回はWCFサービスを作成します。 ...

今回はクライアントを作成し、前回作成したサービスにアクセスします。

準備

  1. コンソールアプリケーションのプロジェクトを作成する。
  2. System.ServiceModelへの参照を追加する。

ソースコード

using System;
using System.ServiceModel;

namespace HelloWorldClient {
    [ServiceContract]
    public interface IStockService {
        [OperationContract]
        double GetPrice(string ticker);
    }

    class Client {
        static void Main(string[] args) {

            // アドレス、バインディング、コントラクトをサービスに合わせる
            ChannelFactory<IStockService> myChannelFactory =
            new ChannelFactory<IStockService>(
            new BasicHttpBinding(),
            new EndpointAddress(
            "http://localhost:8000/HelloWorld"));

            IStockService wcfClient = myChannelFactory.CreateChannel();
            double p = wcfClient.GetPrice("msft");
            Console.WriteLine("Price:{0}", p);
        }
    }
}

アプリ実行

※先にサービスを実行し、待機状態にしておきます。

サービスから値を取得し、表示しています。