WCF(Windows Communication Foundation)

WCF是一个统一的.NET框架,用于开发面向服务的应用程序。它允许开发可以使用不同通信机制进行通信的应用程序。它是为其他微软分布式技术建立的,被认为是分布式计算的未来。由于它的灵活性,它使终端的开发更加容易。它支持各种编程语言和平台。它是基于SOAP的,以XML形式返回数据。它可以被托管在不同的场景中,这种场景包括各种服务,如WAS、IIS、托管Windows等。下面的代码将被用来在WCF中建立一个服务:

[ServiceContract]  
public interface ITest  
{    
 [OperationContract]    
 string ShowMessage(string strMsg);  
}  
public class Service: ITest  
{    
 public string ShowMessage(string strMsg)   
}

网络服务

网络服务是一种客户-服务器应用程序,允许客户和服务器应用程序之间的通信。它基本上是一个专门设计的软件模块,用于执行一组特定的任务。这种服务专门用于使应用平台和技术独立。有两种类型的网络服务,包括SOAP网络服务和RESTful网络服务。下面的代码将被用来建立一个网络服务的服务:

[WebService]  
public class Service: System.Web.Services.WebService  
{  
 [WebMethod]  
 public string Test(string strMsg)    
    {    return strMsg; 
    }  
}

WCF与Web Service 的区

WCF Web Service
WCF用于从一个服务端点向另一个服务端点发送数据异步消息。 Web Service 用于在应用程序或系统之间交换数据。
WCF通道中使用的协议包括HTTP、TCP、MSMQ,名为Pipers。 Web Service 通道中使用的协议包括HTTP和JMS。
WCF旨在为创建Web服务和Web服务客户端提供一种可管理的方法。 Web Service 被设计为执行或实施某一组任务。
WCF为服务提供了一个运行环境,允许你将CLR类型暴露为服务,并将其他服务作为CLR类型使用。 面向服务允许你在网络上公开现有代码的功能,以便其他应用程序可以消费你的程序的功能。
WCF的特点包括面向服务的、可靠的和排队的消息,多种传输方式,以及支持多种消息模式、互操作性的编码等。 Web Service 的特点包括松散耦合、支持文档交换、支持RCF(远程过程调用)、能够同步或异步、与语言无关和可互操作等。
WCF更灵活,因为该服务可以在不同类型的应用程序中托管。 Web Service 不太灵活,因为它只能通过HTTP访问。
WCF的服务可以被托管在IIS、WAS和Windows服务上。 这样的服务只能被托管在IIS服务器上。
WCF使用DataContractSerializer。 Web Service 使用XmlSerializer。
WCF的扩展名是”.svc”。 Web Service 的扩展名是”.asmx”。
与Web服务相比,WCF更加可靠、快速和稳健,因此被认为适合开发实时应用程序。 与WCF相比,Web Service 不可靠,而且速度慢。
WCF支持双工操作和多线程。 Web Service 不支持双工操作和多线程。
WCF还支持强大的安全性、可信的消息传递、交易。 Web Service 只支持安全服务。