フッターコンテンツにスキップ
Iron Academy Logo
C#アプリケーション
C#アプリケーション

その他のカテゴリー

10分以内でわかるコアWCF入門

Tim Corey
4分31秒

Microsoftが.NET Frameworkから.NET Coreに移行したとき、1つの主要コンポーネントが移行しませんでした:Windows Communication Foundation(WCF)です。 長年にわたり、WCFは、企業内のツールから大規模なWebアプリケーションまで、あらゆるものに電力を供給し、接続されたシステムを構築するための最適なソリューションでした。

**Intro to Core WCF in 10 Minutes or Lessという短いながらも洞察に満ちたビデオでは、Tim Corey が Core WCF プロジェクトとは何か、なぜ存在するのか、開発者はどのように使い始めることができるのかについて説明しています。 この記事では、ティムの説明を順を追って説明します。

なぜコア WCF が存在するのか

ティムは冒頭で、マイクロソフトが.NET Coreに移行した際、WCFを置き去りにしたことを視聴者に思い出させる。 つまり、古い.NET FrameworkバージョンでWCFサービスを使用している開発者には、.NET Coreへの直接的なアップグレードパスがなかったのです。

しかし、開発者コミュニティが歩み寄ってくれた。ティムはこう説明する、

"現在、コミュニティはWCFを.NET Coreに導入しました。"

このコミュニティ主導のプロジェクトは、現在.NET Foundationプロジェクトとしてホストされており、Core WCFと呼ばれています。これは基本的に、Windows Communication Foundation(WCF)を最新 for .NET Coreと新しい.NETバージョンで動作するように再実装したものです。

コア WCF は新しいプロジェクト向けではありません

デモに入る前に、ティムは重要なことを明確にするために立ち止まった。 と彼は言う:

"これは本当に新しいプロジェクトのために設計されていません。"

Core WCFは、グリーンフィールド・アプリケーションのためのピカピカの新しいコミュニケーション・フレームワークではありません。むしろ、既存のWCFサービスを持つチームが最新 for .NET Core環境に移行するのを支援するために存在します。

もしあなたが新しいサービスベースのアプリケーションを始めるのであれば、代わりにgRPCに目を向けるようティムはアドバイスする。 実際、彼はgRPCを紹介する別のビデオを持っており、それが何であるか、どのようにそれを使用するかを説明していると言及している。

そのため、Core WCFは新規のASP.NET Coreプロジェクト向けではなく、移行向けです。

コア WCF は誰のためのものですか?

Core WCFの主な目標は、.NET Frameworkで書かれた既存のWCFアプリケーションの近代化を支援することだとティムは説明する。 たとえば、サービスコントラクト、SOAP、WSDL生成を使用する社内システムなどです。

彼は、gRPCは強力ではあるが、すべての一般的なWCFシナリオを完全に置き換えることはできなかったため、多くの開発者が古いプラットフォームから移行することができなかったと説明している。 Core WCFは、この問題を解決します。

目標は、既存のWCFサービスを.NET Coreに移行できるようにすることです。

そのため、フルフレームワーク上で動作しているWCFプロジェクトがある場合、いくつかの設定を変更するだけで、既存のサービスコントラクト、クライアントプロキシ、プロジェクトファイルを再利用して移行することができます。

コア WCF プロジェクト ページの概要

次に Tim は、開発者が使い始めるために必要なものがすべて含まれている Core WCF GitHub ページを紹介します。 彼は、視聴者がそれを探求し、言及することを奨励しています:

サービスの作成方法や顧客プロジェクトからの参照方法について、ステップバイステップのウォークスルーがあるだけでなく、Visual Studioにインストールできる新しいテンプレートまで用意されています。"

これらのCoreWCFプロジェクトテンプレートを使用すると、新しい.NET SDKスタイルのプロジェクトファイル形式を使用して、Core WCFサービスまたはWCFクライアントをより簡単に構築できます。

このページでは、NuGetパッケージリファレンス、設定ファイル、サービスアドレスの扱い方も説明し、開発者が.NET Frameworkの古いXML設定ファイルから.NET Coreで使用されているミドルウェアパターンに移行するのを支援します。

新しいテンプレートが存在する理由

Core WCFが新しいプロジェクトのためのものでないなら、なぜ新しいCoreWCFプロジェクト・テンプレートを作成するのですか?

.NET Framework WCFから.NET Coreに移行するためのアップグレード戦略の1つは、新しいCoreWCFプロジェクトを作成し、そこにコード(サービスロジック、インターフェース、構成)を移行することだと説明しています。

WCFを.NET Coreバージョンにアップグレードするための戦略の1つは、新しいテンプレートを作成し、コードを移行することです。

これは、開発者が.NET Core SDKスタイルのプロジェクトを使用するようにアプリケーションを再構築し、古いアセンブリ参照の代わりにNuGetパッケージを更新するのに役立ちます。

つまり、Visual Studioやdotnetコマンドラインツールの新しいテンプレートは、新しいシステム用ではなく、既存のWCFアプリケーションの移行プロセスを支援するためのものなのです。

バージョン更新と安定性

続いて、ティムはバージョニングについて語ります。 この原稿を執筆した時点では、4月のバージョン1.0に続き、Core WCFのバージョン1.1がリリースされたばかりだった。

同氏は、バージョン1.1がわずか1週間前(6月末)にリリースされ、Core WCFが急速に進化し、ますます安定してきていることを示していると指摘する。

Coreのアップグレードが必要な人だけが対象です。

この声明は、Core WCFが本番環境で安全に使用できるほど成熟していることを強調し、移行プロセスを開始する準備ができている組織に自信を与えています。

マイクロソフトがサポートするコミュニティ ツール

Core WCFはコミュニティ・プロジェクトとして始まりましたが、ティムはMicrosoftが公式にサポートしていることを強調しています。

安定し始めました。 マイクロソフトのサポートを受けています。"

これにより、Core WCFは、信頼性が高く、将来を見据えたものとなります。 これは、WCFサービスを.Core WCFに移行する場合、見捨てられたプロジェクトや実験的プロジェクトに賭けるのではなく、.NET Foundationの傘下でマイクロソフトが支援し、コミュニティが維持するソリューションであることを意味します。

最新 for .NETへの一歩

ティムが要約するように、Core WCFは開発者に最新 for .NET Coreランタイムへの道を提供します。SOAPサービス、クライアントプロキシ、サービスコントラクトなどのWCF機能を維持しながら、クロスプラットフォームサポート、パフォーマンスの高速化、将来 for .NETバージョン向けの統一ランタイムなど、.NET Coreのすべての利点を享受することができます。

"これは最新 for .NET Coreに移行するのに役立つものです。"

言い換えれば、Core WCFはWCFを再発明するものではなく、その寿命を延ばすものなのです。

最終的な感想とコミュニティへの参加

Tim は video の最後に、Core WCF の GitHub ページを訪れ、ドキュメントを読み、テンプレートを試してみるよう視聴者に勧めています。

また、このようなトピックに関する短いトレーニングビデオをより多く作成できるよう、フィードバックサイトを通じて質問や機能要望を提出するよう開発者に呼びかけている。

結論最新 for .NETへのブリッジとしての.Core WCF

ティム・コーリーは5分以内で、Core WCFが既存のWCFアプリケーションのライフラインであることを明確に説明しています。 これは真新しいサービス向けではなく、レガシーな.NET Framework WCFプロジェクトを保守しているチームで、ゼロからすべてを書き直すことなく、.NET Coreを近代化して活用したいと考えている人向けです。

Visual Studioテンプレート、NuGetパッケージリファレンス、Microsoftがサポートするツールにより、開発者はWCFサービスを.NET開発の新時代に安全に導入することができます。

Hero Worlddot related to 10分以内でわかるコアWCF入門
Hero Affiliate related to 10分以内でわかるコアWCF入門

好きなことを共有することで収入を増やす

.NET、C#、Java、Python、またはNode.jsを使用する開発者向けのコンテンツを作成しますか?あなたの専門知識を副収入に変えましょう!

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね