WCF - Web Hizmetine Karşı
WCF ile aşağıda listelenen bir Web hizmeti arasında bazı önemli farklılıklar vardır.
Attributes - WCF hizmeti, ServiceContract ve OperationContract öznitelikleri tarafından tanımlanırken, bir web hizmeti WebService ve WebMethod öznitelikleri tarafından tanımlanır.
Protocols - WCF, HTTP, Adlandırılmış Kanallar, TCP ve MSMQ gibi bir dizi protokolü desteklerken, bir web hizmeti yalnızca HTTP protokolünü destekler.
Hosting Mechanisms - WCF barındırma için çeşitli etkinleştirme mekanizmaları vardır, yani, IIS (İnternet Bilgi Hizmeti), WAS (Windows Etkinleştirme Hizmeti), Kendi Kendine barındırma ve Windows Hizmeti, ancak bir web hizmeti yalnızca IIS tarafından barındırılır.
Services - WCF, sağlam bir güvenliği, güvenilir mesajlaşmayı, işlem ve birlikte çalışabilirliği desteklerken, bir web hizmeti yalnızca güvenlik hizmetlerini destekler.
Serializer - WCF, System.Runtime.Serialization kullanarak DataContract serileştiriciyi desteklerken, bir web hizmeti System.Xml.Serialization kullanarak XML serileştiriciyi destekler.
Tools - ServiceMetadata aracı (svcutil.exe), bir WCF hizmeti için istemci üretimi için kullanılırken, WSDL.EXE aracı, bir web hizmeti için aynısını oluşturmak için kullanılır.
Exception Handling- WCF'de, FaultContract kullanılarak işlenmeyen istisnalar daha iyi bir şekilde ele alınır. SABUN hatası olarak bir web servisindeki gibi istemciye geri dönmezler.
Hash Table - Bir Karma Tablosunu WCF'de serileştirmek mümkündür, ancak bu bir web hizmetinde geçerli değildir.
Bindings - WCF, BasicHttpBinding, WSDualHttpBinding, WSHttpBinding, vb. Gibi çeşitli bağlama türlerini desteklerken, bir web hizmeti yalnızca SOAP veya XML'i destekler.
Multithreading - WCF, ServiceBehavior Class kullanarak çoklu okumayı destekler, ancak bu bir web hizmetinde desteklenmez.
Duplex Service Operations - WCF, tek yönlü ve istek yanıt hizmet işlemlerini desteklemenin yanı sıra çift yönlü hizmet işlemlerini desteklerken, bir web hizmeti çift yönlü hizmet işlemlerini desteklemez.