nzp*_*mad 64
这个答案基于一篇不再存在的文章:
文章摘要:
"基本上,WCF是一个服务层,允许您构建可以使用各种通信机制进行通信的应用程序.通过它,您可以使用Peer to Peer,命名管道,Web服务等进行通信.
您无法比较它们,因为WCF是用于构建可互操作应用程序的框架.如果您愿意,可以将其视为SOA推动者.这是什么意思?
好吧,WCF符合ABC的要求,其中A是您要与之通信的服务的地址,B代表绑定,C代表合同.这很重要,因为可以在不必更改代码的情况下更改绑定.合同更加强大,因为它迫使合同与实施分离.这意味着合同是在一个接口中定义的,并且有一个具体的实现,消费者使用相同的合同理念绑定.数据模型被抽象出来."
......以后......
"当我们需要与其他通信技术(例如,Peer to Peer,命名管道)而不是Web服务进行通信时,应该使用WCF"
小智 32
WCF是Microsoft所有早期Web服务技术的替代品.它的功能远远超过传统上被视为"Web服务"的功能.
WCF"Web服务"是通过WCF实现的更广泛的远程通信范围的一部分.与传统的ASMX相比,您将在WCF中获得更高程度的灵活性和可移植性,因为WCF是从头开始设计的,用于总结Microsoft提供的所有不同的分布式编程基础架构.WCF中的端点可以通过SOAP/XML与TCP /二进制文件一样轻松地进行通信,并且更改此介质只是一个配置文件mod.从理论上讲,这可以减少移植或更改业务需求,目标等所需的新代码量.
ASMX比WCF旧,ASMX可以执行的任何操作都可以是WCF(以及更多).基本上你可以看到WCF试图将所有不同的方式组合在一起,让两个应用程序在微软世界中进行通信; ASMX只是众多方式中的一种,因此现在归入WCF的功能范围.
Web服务只能通过HTTP访问,它可以在无状态环境中工作,WCF非常灵活,因为它的服务可以托管在不同类型的应用程序中.托管WCF服务的常见方案是IIS,WAS,自托管,托管Windows服务.
主要区别在于Web Services Use
XmlSerializer.但WCF使用DataContractSerializer哪个性能更好XmlSerializer.
小智 30
Web Service 基于SOAP并以XML形式返回数据.它仅支持HTTP协议.它不是开源的,但可以被任何理解xml的客户端使用.它只能在IIS上托管.
WCF 也基于SOAP并以XML形式返回数据.它是Web服务(ASMX)的发展,支持TCP,HTTP,HTTPS,命名管道,MSMQ等各种协议.WCF的主要问题是其繁琐而广泛的配置.它不是开源的,但可以被任何理解xml的客户端使用.它可以在应用程序中或IIS上或使用窗口服务托管.
小智 16
基本和主要区别在于,ASP.NET Web服务旨在通过HTTP交换SOAP消息,而WCF服务可以通过任何传输协议(即HTTP,TCP,MSMQ或NamedPipes等)使用任何格式(默认为SOAP)交换消息.
Web 服务和 WCF 有什么区别?
Web 服务在将数据从一个应用程序传输到另一个应用程序时仅使用 HTTP 协议。
但是 WCF 支持比 ASP.NET Web 服务更多的消息传输协议。WCF 支持使用 HTTP 以及传输控制协议 (TCP)、命名管道和 Microsoft 消息队列 (MSMQ) 发送消息。
在Web Service中开发一个服务,我们将编写如下代码
[WebService]
public class Service : System.Web.Services.WebService
{
[WebMethod]
public string Test(string strMsg)
{
return strMsg;
}
}
Run Code Online (Sandbox Code Playgroud)
要在 WCF 中开发服务,我们将编写以下代码
[ServiceContract]
public interface ITest
{
[OperationContract]
string ShowMessage(string strMsg);
}
public class Service : ITest
{
public string ShowMessage(string strMsg)
{
return strMsg;
}
}
Run Code Online (Sandbox Code Playgroud)Web 服务在架构上并不是更健壮。但是 WCF 在架构上更加健壮,并促进了最佳实践。
Web 服务使用 XmlSerializer,但 WCF 使用 DataContractSerializer。与 XmlSerializer 相比,哪个性能更好?
对于内部(防火墙后)服务到服务调用,我们使用 net:tcp 绑定,这比 SOAP 快得多。
WCF 比 ASP.NET Web 服务快 25% — 50%,比 .NET Remoting 快大约 25%。
我什么时候会选择一个?
WCF 用于在其他平台上开发并使用其他技术的其他应用程序之间进行通信。
例如,如果我必须将数据从 .net 平台传输到在其他操作系统(如 Unix 或 Linux)上运行的其他应用程序,并且他们使用其他传输协议(如 WAS 或 TCP),那么只能传输数据使用 WCF。
在一个应用程序之间传输数据到另一个应用程序时,这里没有平台、应用程序传输协议的限制。
与网络服务相比,安全性非常高
| 归档时间: |
|
| 查看次数: |
134779 次 |
| 最近记录: |