Wcf-versus-web-service
提供:Dev Guides
WCF-対Webサービス
WCFとWebサービスの間に存在するいくつかの大きな違いがあります。以下にリストします。
- 属性-WCFサービスはServiceContractおよびOperationContract属性によって定義されますが、WebサービスはWebServiceおよびWebMethod属性によって定義されます。
- プロトコル-WCFは、HTTP、名前付きパイプ、TCP、MSMQなどのさまざまなプロトコルをサポートしていますが、WebサービスはHTTPプロトコルのみをサポートしています。
- ホスティングメカニズム-WCFホスティングにはさまざまなアクティベーションメカニズムがあります。つまり、IIS(インターネットインフォメーションサービス)、WAS(Windowsアクティベーションサービス)、セルフホスティング、およびWindowsサービスですが、WebサービスはIISによってのみホストされます。
- サービス-WCFは堅牢なセキュリティ、信頼できるメッセージング、トランザクション、相互運用性をサポートしますが、Webサービスはセキュリティサービスのみをサポートします。
- Serializer -WCFはSystem.Runtime.Serializationを使用してDataContractシリアライザーをサポートしますが、WebサービスはSystem.Xml.Serializationを使用してXMLシリアライザーをサポートします。
- ツール-ServiceMetadataツール(svcutil.exe)はWCFサービスのクライアント生成に使用され、WSDL.EXEツールはWebサービスのクライアント生成に使用されます。
- 例外処理-WCFでは、FaultContractを使用することにより、未処理の例外がより適切に処理されます。 SOAPエラーとしてWebサービスのようにクライアントに返されません。
- ハッシュテーブル-WCFでハッシュテーブルをシリアル化することは可能ですが、Webサービスではそうではありません。
- バインディング-WCFは、BasicHttpBinding、WSDualHttpBinding、WSHttpBindingなどのいくつかのタイプのバインディングをサポートしますが、WebサービスはSOAPまたはXMLのみをサポートします。
- マルチスレッド-WCFはServiceBehaviorクラスを使用してマルチスレッドをサポートしていますが、これはWebサービスではサポートされていません。
- 二重サービス操作-WCFは、一方向および要求応答サービス操作のサポートとは別に二重サービス操作をサポートしますが、Webサービスは二重サービス操作をサポートしません。