65

WCF と REST&SOAP の関係は? WCF はこれらのテクノロジ (REST または SOAP) のいずれかに基づいていますか、それとも別のテクノロジですか?

4

4 に答える 4

150

WCF は、分散システムを構築するためのメッセージング フレームワークです。分散システムは、ほとんどの場合、Web サービスの別の言葉です。

これが意味することは、C# (または任意の .NET 言語) でメソッドを記述し、コードに一連の構成を適用して、他のユーザーがコードにアクセスできるようにし、コードを Web サービスに変換できることです。

それらの「構成の束」はWCFです。WCF では、C# コードの周りに WCF 構成をセットアップして RESTful サービスとして公開する場合、REST を使用してメソッドを他のコンピューターまたはアプリケーションに公開できます。または、同じ C# メソッドを簡単に取得して、SOAP プロトコル経由で使用できるようにすることもできます。

"GetData()" というメソッドがある場合は、WCF 構成をセットアップして、IIS でホストされているサービスでそのメソッドを使用できるようにすることができます。誰かがそのサービスを呼び出すと、HTTP GET 要求をhttp://www.yourdomain.com/SomeService/GetDataに送信でき、GetData メソッドがメッセージを受信して​​応答を返します。HTTP 経由で GET 要求を行う場合、REST を使用しています。REST は、トランスポート プロトコルとして HTTP にほぼ関連付けられています。REST にも標準のメッセージ形式はありません。HTTP メッセージで送信したいものは何でも、送信したい方法でも問題ありません。XML、JSON、またはプレーンテキストのみを送信できます。POST、GET、PUT、または任意の HTTP 動詞も使用できます。

SOAP を使用すると、任意のトランスポート プロトコルを使用してメッセージをサービスに送信できます。HTTP に縛られることはありません。SOAP メッセージは、トランスポート ニュートラルになるように設計されています。これらは XML でエンコードされ、XML には常に、エンベロープ ノード内にヘッド ノードとボディ ノードがあります。SOAP には多くの Web 標準があります。たとえば、セキュリティ、セッション、およびその他の機能をメッセージのヘッダーに配置するための標準です。また、SOAP を使用すると WSDL が得られますが、これについてはここでは説明しませんが、クライアントがプログラミングするのが非常に簡単になります。ほとんどのプログラミング言語には、サービスを簡単に呼び出せるように、WSDL を厳密に型指定されたメソッドとオブジェクトに変換する方法があります。

REST はインターネットで非常に人気があり、インターネットと同じくらいスケーラブルです (つまり、非常にスケーラブルです)。SOAP は、企業間アプリケーションで非常に人気があります。

于 2013-02-28T04:37:23.017 に答える
32

WCF は自動的に REST または SOAP になるわけではありませんが、そのようにすることはできます。ここで必要なのはチュートリアルです。

WCF

http://www.codeproject.com/Articles/406096/A-beginners-tutorial-for-understanding-Windows

休み

http://rest.elkstein.org/

ここにいくつかの他の興味深いものがあります:

WCF-REST / SOAP

https://msdn.microsoft.com/en-us/library/hh323708(v=vs.100).aspx

WCF と REST

https://msdn.microsoft.com/en-us/library/ee391967.aspx

または、自分で google/bing/metacrawler/altavista 検索を行うこともできます.....

于 2013-02-28T04:06:37.627 に答える
10

MSDNから

WCF プログラミング モデルは、SOAP サービス、Web HTTP サービス、データ サービス、リッチ インターネット アプリケーション (RIA) サービス、ワークフロー サービスなど、さまざまな機能を提供します。SOAP サービスは、Java やその他のプラットフォームで構築されたシステムと、Microsoft® がサポートするメッセージング標準を使用するシステムとの間の相互運用性をサポートします。SOAP サービスは、HTTP、TCP、名前付きパイプ、MSMQ などのトランスポートもサポートしています。Web HTTP サービスとデータ サービスはどちらも REST をサポートしています。Web HTTP サービスを使用すると、サービスの場所、要求と応答、形式、およびプロトコルを制御できます。データ サービスを使用すると、データ モデルとデータ駆動型ロジックをサービスとして公開できます。WCF には、サービス モデルとチャネル モデルという 2 つのプログラミング モデルも含まれています。サービス モデルは、データ コントラクトを定義するためのフレームワークを提供します。サービス契約とサービスの振る舞い。チャネル モデルは、フォーマット、トランスポート、およびプロトコルの指定をサポートしています。

SOAP サービスと REST サービスはどちらも Web アプリケーションに機能を提供でき、どちらも Web の分散環境で情報を交換するために使用できます。それぞれに独自の利点と制限があります。

于 2013-02-28T04:05:23.713 に答える