Design – the difference between WCF service and a simple Web service in developing using .NET Framework

asp.netdesignwcfweb services

My questions are:

  1. What is the difference between WCF service and a simple Web service in .NET Framework?

  2. What a WCF Service can do which a .NET Web service cant? In other words, what are the limitation of .NET Web services which were overcome in WCF services?

I understand that WCF are REST based and .NET web services are SOAP based. But I need to know more than that. How a developer will make a design decision whether to developer a Web service or a WCF service?

Best Answer

Here is the basic difference between the two -

1 File Format/Extension :

i) ASP.net service - '.asmx'

ii) WCF service - '.svc'

2 Hosting :

i) ASP.net service - Can be hosted in IIS also can be hosted in a Windows Service.

ii) WCF service - Very flexible, can be hosted in IIS, Windows Activation Services(WAS), Managed Windows Services and It also supports Self-Hosting.

3 Transport Protocols/Binding :

i) ASP.net service - It supports HTTP & TCP protocols along with custom binding.

ii) WCF service - supports HTTP, WS-HTTP, TCP, Custom, Named Pipes, MSMQ & P2P(Point to Point) etc.

4 Data Transformation :

i) ASP.net service - XML serializer for Data Transformation.

ii) WCF service - DataContractSerializer for Data Transformation.

5 Serialization NameSpace :

i) ASP.net service - System.XML.Serialization

ii) WCF service - System.RunTime.Serialization

6 Supported Operations :

i) ASP.net service - only One-Way and Request-Response type.

ii) WCF service - Includes One-Way, Request-Response and Duplex.

7 Encoding :

i) ASP.net service - It uses following encoding mechanisms - XML1.0, MTOM (Message Transmission Optimization Mechanism), DIME (Direct Internet Message Encapsulation)

ii) WCF service - It uses following encoding mechanisms - XML1.0, MTOM, Binary

Read more differences - http://www.csharptutorial.in/2012/01/cnet-difference-between-web-service-and.html