.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. .NET
  4. .NET Framework
  5. .NET FrameworkのWCFとは?C#で簡単なサービスを作成する方法

.NET FrameworkのWCFとは?C#で簡単なサービスを作成する方法

  • .NET
  • .NET Framework
  • C#
  • プログラミング言語
公開日時:   更新日時:
.NET FrameworkのWCFとは?C#で簡単なサービスを作成する方法
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>

    WCFとはWindows Communication Foundationの略称で、統合通信フレームワークを表します。WCFが導入される前までは、通信フレームワークに互換性がなく、通信方式を簡単には変えることができませんでした。WCFの登場後は、複数の通信フレームワークが統合されており、共通のアプローチで複数の通信方式を扱うことが可能となりました。ここでは、このWCFについて掘り下げていきたいと思います。

    プログラマー
    WCF……統合通信フレームワークって聞いて、なんだか難しそうなイメージがあります。どうやって実装するのでしょうか?
    プロジェクト
    リーダー
    プログラミング初学者の方にはちょっと難しいかもしれませんね。WCFを理解するためには、基本的な概念は必ず押さえておく必要があります。まずはそこから確認していきましょう。

    実行環境
    ・Visual Studio Community 2017

    .NET Framework 3系で追加されたWCFとは

    WCFは.NET Framework 3.0から新たに追加された、ネットワークを介して異なるコンピュータで動作するソフトウェア間で通信することができるフレームワークです。
    WCFを理解するためには、まず知っておくべき基本的な概念が存在します。それが下記で説明する「ABC」です。

    • ■A: Address
    • どこで公開するか(Where)を定義します。URLがこれに該当します

    • ■B: Binding
    • どうやって公開するのか(How)を定義します。HTTPやTCPなどの通信プロトコルがこれに該当します

    • ■C: Contract
    • 何を公開するのか(What)を定義します。商取引やゲームなどがこれに該当します

    このABCの基本概念があるからこそ、通信方式とロジックを分離し、通信方式の切り替えをより簡単に行うことが可能になります。
    WCFでは様々な種類の通信方式が利用できますが、多くの場面で見られるのがHTTPです。利用できる通信方式も確認しておきましょう。

    [table id=46 /]

    簡単なWCFサービスを作成する方法

    今回は、C#を使って簡単なWCFサービスを作成していきましょう。

    1. まず、Visual Studioから新しいプロジェクトを作成します。
    2. 新しいプロジェクトの作成

    3. プロジェクトが作成されました。プログラムは大きく分けてインターフェイス(IService1.cs)とインプリメンテーション(Service1.svc.cs)に分かれます。
    4. 以下のプログラムでは「NewProc」の箇所を新たに追加しました。それ以外は変更する必要はありません。

    5. それでは動作確認をしてみましょう。Service1.svc.csを開いてからデバッグを実行しましょう。以下の画面が表示されます。
    6. 動作確認

    7. クライアントのデモ環境です。今回追加した「NewProc」をダブルクリックします。
    8. デモ環境

    9. 要求のnameの値に“テストクライアント”を設定します。起動ボタンを押下します。
    10. nameを設定

    11. OKを押下します。
    12. セキュリティ警告

    13. 応答の値に正しく値が設定されていることを確認できました。
    14. 値設定の結果

    15. 次に、IService1.csを開いてデバッグを実行します。以下の画面が表示されますので、Service1.svcのリンクをクリックします。
    16. デバッグの結果

    17. http://localhost:54047/Service1.svc?wsdlの箇所はメモ帳などに保存しておきましょう。次項のサービスへのアクセス方法で使用します。
    18. サービスのアクセス方法

    作成したサービスへのアクセス

    1. クライアントとなる新しいプロジェクトを作成します。
    2. Windowsフォームプロジェクトの作成

    3. プロジェクトが作成できたら、ソリューションエクスプローラーに表示されている参照を右クリックで、サービス参照の追加を行います。
    4. 追加するURLは保存しておいたhttp://localhost:54047/Service1.svc?wsdlです。

      サービス参照の追加

    5. 次に簡単なWindows Formsアプリを作成します。
    6. テキストボックスに値を設定し、ボタンを押下するとラベルに応答値が出力される仕組みです。今回は”テストクライアント”を入力値とします。

      値を入力する

    7. ラベルに値が出力されることを確認できました。
    8. 値の出力

    プログラマー
    簡単にWCFの利用ができるのですね!まずは試しに自分でもコーディングしてみます。
    プロジェクト
    リーダー
    そうですね。基本的な概念を理解することはとても大切なことです。それと同時にWCFを理解する一番の近道は、自分でコーディングしてみることです。

    アプリケーションの通信に利用できるWCF

    統合通信フレームワークと聞いて、難しい印象を持たれた方も多いかと思います。Windows Formsでクライアント画面を実装して、通信にはHTTPプロトコルを利用するアプリケーションを開発することは、多くの場面で求められるスキルではないでしょうか。勉強の際まずは、ここで解説したような簡単なWCFの作成方法を理解することから始めることをおすすめします。

    >>>.NET Frameworkの案件を探すならFEnet .NET Navi

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    新着案件New Job