Tuesday, January 27, 2015

WCF Vs Web Services

WCF/ASP.Net Web Services are used for developing web services. Here is a list of differentiation between these two.
Feature ASP.NET Web Service WCF
Data Transformation To and from Data Transition is done through XML Serializer DataContractSerializer is used for data transition
File Extension File extension is asmx File extension is .svc
Webmethods vs    DataContract Attributes ASP.NET WebService uses Webmethods to translate .NET FW types in to XML.</SPAN< td> The WCF uses the DataContractAttribute and DataMemeberAttribute to translate .NET FW types in to XML.
Limitations Only Public fields or Properties of .NET types can be translated into XML.Only the classes which implement IEnumerable interface. ICollection interface can be serializable Public/Private fields or properties of .NET types can be translated.
IDictionary Interface  class Classes that implement the IDictionary interface, such as Hash table can not be serialized. The DataContractSerializer can translate the Hash Table into XML. Hence using WCF we can even translate HashTable into XML
Security WCF is more secured than WebService due to -> It is based on WS Standards. capable to run in any .NET executable, so it needs independent security capabilities. Transfer security  Responsible for providing message confidentiality, data integrity, and authentication of communicating parties.
Authorization Responsible for providing a framework for making authorization decisions.
Auditing Responsible for logging security-related events to the audit log
Binding Web service supports only HTTP. WCF supports multiple bindings HTTP,TCP,MSMQ,WS-HTTP etc
Messaging ASP.Net web service uses only SOAP (Simple Object Access Protocol) for sending and receiving data. It uses Xml Schema  to  defines structure of message. Windows Communication Foundation (WCF) can send message in any format. It uses SOAP for communication by default. It can use any other transport protocol for message transport .
Performance Slower compared to WCF The main advantage of the design of the DataContractSerializer is better performance over XML serialization
Fields / Properties XMLSerialization does not indicate the which fields or properties of the type are serialized into XML DataContratSerializer Explicitly shows the which fields or properties are serialized into XML
Exception handling In ASP.NET Web services, Unhandled exceptions are returned to the client as SOAP faults. In WCF Services, unhandled exceptions are not returned to clients as SOAP faults. A configuration setting is provided to have the unhandled exceptions returned to clients for the purpose of debugging.
Example [WebService]
public class Service : System.Web.Services.WebService
{
[WebMethod]
public string Demo(string strDemog)
{
return strDemo;
}
}
[ServiceContract]
public interface ITest
{
[OperationContract]
string ShowMessage(string strDemo);
}
public class Service : ITest
{
public string Demo(string strDemo)
{
return strDemo;
}
}

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More