R.Tanaka.Ichiro's Blog

主にC# な話題です

目次

Blog 利用状況

ニュース

WCF メモ(その2)

http://blogs.wankuma.com/rti/archive/2008/12/08/162980.aspx
WCF メモ

の続きです。

WCF を採用するものが決まったら、後は実際に使ってみるのが良いでしょう。
以下のサンプルコードを用意してみました。


static void Main(string[] args) {
  var z = this.足し算(5, 3);
  Console.WriteLine(z);
  Console.ReadKey();
}

// このロジックをサービスとして提供する
public static int 足し算(int a, int b) {
  return a + b;
}


上記は、5 + 3 を計算してコンソールに 8 を出力するサンプルコードです。
但し、足し算ロジック本体は、メソッドとして独立しています。

今回は、この足し算を WCF を使ったサービスとして提供してみたいと思います。

サービスとして提供するために、上記のプロジェクトを、以下のように 3 つに分解します。


1.WCF サービスライブラリ・・・サービスとして公開するロジックのライブラリです

2.WCF サービスホスト・・・クライアントからの要求を受けてサービスを実行します

3.WCF サービスクライアント・・・サービスを利用して足し算させた結果を表示します


最初に、

WCF サービスライブラリ

用のプロジェクトを新規に作ります。

この時、「WCF サービスライブラリ」というテンプレートを使うと簡単です。
プロジェクト名はデフォルトのままの「WcfServiceLibrary1」とします。

ここで、IService1.cs と Service1.cs の 2 つのファイルを開いて以下のようにします。


using System.ServiceModel;
namespace WcfServiceLibrary1 {
  [ServiceContract]
  public interface IService1 {
    [OperationContract] int 足し算(int a, int b);
  }
}


using System;
namespace WcfServiceLibrary1 {
  public class Service1 : IService1 {
    public int 足し算(int a, int b) {
      return a + b;
    }
  }
}


やっていることをまとめると以下の 3 つです。


1.Service1 クラスに提供したいメソッドの実装を書く
2.Service1 クラスのインターフェイスを定義して継承
3.IService1 インターフェイスに[ServiceContract]属性を、足し算メソッドに[OperationContract] 属性を付与


現時点では、属性の内容はおまじないだと思って下さい。

WCF サービスライブラリは、これだけで OK です。

・・・(続く)

投稿日時 : 2008年12月10日 14:09

Feedback

# WCF メモ(その3) 2008/12/15 16:09 R.Tanaka.Ichiro's Blog

WCF メモ(その3)

# WCF メモ(その3) 2008/12/15 16:58 R.Tanaka.Ichiro's Blog

WCF メモ(その3)

# WCF メモ(その4) 2008/12/28 13:18 R.Tanaka.Ichiro's Blog

WCF メモ(その4)

# cAQlOUQUNDfmPndosSH 2021/07/03 3:33 https://amzn.to/365xyVY

You ave made some decent points there. I checked on the internet for additional information about the issue and found most people will go along with your views on this site.

タイトル
名前
Url
コメント