views:

582

answers:

5

I am totally confused between WCF and ASMX web service. I have used lot of web service in earlier stage and now there is new thing introduced WCF. I can still create WCF that function as a web service. I think there will be more stuff in WCF. Can any one provide me any article or difference between WCF and Web service? Which one to use and when?

+1  A: 

WCF completely replaces ASMX web services. ASMX is the old way to do web services and WCF is the new way to do web services. All new web service development, on the client or the server, should be done using WCF.

John Saunders
+4  A: 

Web services can only be invoked by HTTP (traditional webservice with .asmx). While WCF Service or a WCF component can be invoked by any protocol (like http, tcp etc.) and any transport type.

Second web services are not flexible. However, WCF Services are flexible. If you make a new version of the service then you need to just expose a new end. Therefore, services are agile and which is a very practical approach looking at the current business trends.

We develop WCF as contracts, interface, operations, and data contracts. As the developer we are more focused on the business logic services and need not worry about channel stack. WCF is a unified programming API for any kind of services so we create the service and use configuration information to set up the communication mechanism like HTTP/TCP/MSMQ etc

RJ1516
+7  A: 

Keith Elder nicely compares ASMX to WCF here. Check it out.

Another comparison of ASMX and WCF can be found here - I don't 100% agree with all the points there, but it might give you an idea.

WCF is basically "ASMX on stereoids" - it can be all that ASMX could - plus a lot more!.

ASMX is:

  • easy and simple to write and configure
  • only available in IIS
  • only callable from HTTP

WCF can be:

  • hosted in IIS, a Windows Service, a Winforms application, a console app - you have total freedom
  • used with HTTP (REST and SOAP), TCP/IP, MSMQ and many more protocols

In short: WCF is here to replace ASMX fully.

Check out the WCF Developer Center on MSDN.

marc_s
+1 thanks for this!
Ralph Willgoss
A: 

A good link for this is here

This would explain the differences between the two.

HotTester
A: 

HEre is another blog post that discusses the differences

http://aspdotnetarchitect.com/post/WCF-versus-ASMX-services.aspx