Web Services — WCF vs. ASMX (“Standard”)我正在做一个新项目。 与常规的老式Web服务相比,使用WCF Web服务有什么好处? Visual Studio提供了两者的模板。 有什么区别? 利弊? 什么是"常规的老式Web服务"? ASMX服务,还是您也使用WSE? ASMX服务不是自然可互操作的,不支持WS- *规范,并且ASMX是一种非常快速老化的技术。 WSE(Web服务增强)服务确实添加了对WS- *的支持,并且可以使其互操作,但是WCF旨在替代WSE,因此您应该花一些时间来学习它。我要说的是,除非您的应用程序很快就变成了一次性应用程序,否则如果您选择WCF,您将获得巨大的灵活性并获得更好的设计。 WCF确实有一个超出[WebMethod]属性的学习曲线,但是我认为该学习曲线被过度夸大了,并且它比传统的ASMX服务成指数地更强大,并且更具有前瞻性。 除非您的时间线根本无法忍受学习曲线,否则您将为自己学习WCF锦上添花,而不仅仅是坚持使用ASP.NET Web服务。应用程序将只会继续变得越来越分散和互连,WCF是Microsoft平台上分布式计算的未来。 这是两者之间的比较。 自己做所有事情的优点是:
WCF的优点是:
WCF的缺点:一些静态属性名称可能很长。 总结一下:WCF让您专注于编程,但是您需要首先学习它;-) WCF专业版:您不需要Web服务器(即IIS)。您实际上不需要服务器操作系统。 我喜欢编写WCF服务可以轻松将服务与实现分开的事实。您可以编写服务,然后将其托管在IIS,控制台应用程序或Windows服务中。您还可以通过HTTP,Net TCP等与之对话。 对您的服务实现和交互进行单元测试更容易! 如果您的项目使用的是Framework 4.0,那么为什么不尝试WebApi,它很容易理解,并且在配置上使用了约定。 它是使用超快速接口构建应用程序的好方法 看一下MS的入门视频,它是从WCF数据服务演变而来的。 http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api 在我的经验中 世界足球联合会 它使用起来非常荒谬,它与其他Microsoft产品不太兼容,当然,它在Microsoft世界之外还没有被广泛接受。 但是我的主要问题是它不稳定,它趋于失败(在某些情况下),并且需要对其进行调整才能使用。 代替 SOAP(又名标准Web服务),它可以工作,易于工作并且具有广泛的兼容性(Java-JAX接受它而无需进行任何修改)。 在SOAP中添加身份验证可能有些棘手,但并非不可能。 |