WCF與Web服務/Web Service
下麵列出了WCF和Web服務之間存在一些重大差異。
-
屬性:WCF服務是通過定義ServiceContract和OperationContract屬性,而在Web服務,WebService和WebMethod屬性用於定義相同。
-
協議:WCF支持多種協議,即HTTP,命名管道,TCP和MSMQ;而Web服務僅支持HTTP協議。
-
托管機製:WCF托管不同的激活機製,即IIS(Internet信息服務),WAS(Windows激活服務),自托管和Windows服務,而Web服務則隻能由IIS托管。
-
服務:WCF支持一個強大的安全,值得信賴的消息傳遞,事務性和互操作性,而Web服務隻支持保障服務。
-
序列化:WCF支持DataContract串行采用System.Runtime.Serialization,而Web服務通過使用System.Xml.Serialization支持XML序列化。
-
工具:ServiceMetadata工具(svcutil.exe)用於客戶機生成的WCF服務而WSDL.EXE工具用來產生相同web服務。
-
異常處理:在WCF中,未處理的異常都是在一個更好的方式通過使用FaultContract處理,並冇有得到Web服務SOAP(簡單對象訪問協議)故障返回給客戶端等。
-
有可能要序列哈希Tablein WCF,但這不能在web服務中。
-
綁定:WCF支持多種類型,如 basicHttpBinding,WSDualHttpBinding,WSHttpBinding等綁定,而Web服務僅支持SOAP或XML。
-
多線程:WCF支持多線程利用ServiceBehavIor類,而這Web服務不支持。
-
雙工服務操作:WCF支持雙工服務業務除了支持單向和請求 - 響應服務操作,而Web服務不支持雙工服務操作。