微软推动Windows Communication Foundation(WCF)一段时间以取代Web Services ASMX文件,但我不确定它至少在开始时有多成功。
现在使用的首选方法是什么?是否有更新版本的WCF使用?我主要创建和使用我目前在MS技术中使用的Web服务。
答案 0 :(得分:2)
WCF是ASMX的替代品。 ASMX将没有进一步的开发(错误修复除外),而WCF正在改进(因为它是在.NET Framework 3.0上发布的,它已经在3.5和4.0上获得了新功能)。甚至还有一个codeplex项目,可以在http://wcf.codeplex.com预览下一个版本中的一些即将推出的功能。
答案 1 :(得分:1)
WCF取代了ASMX Web服务和.NET Remoting。我相信它也包含企业服务(是COM + / MTS),但我不是100%肯定。根据我的经验,WCF比ASMX或Remoting容易得多。部分简单来自于非常简单的方法...定义合同(接口),定义实现此合同的服务,并可选择定义可以传递的对象。
WCF在如何托管这些服务方面非常灵活。在later versions中,托管和配置选项已得到改进。
顺便说一句,如果您既是服务的提供者又是消费者,那么无论您的服务逻辑如何,WCF都可以灵活地选择您的传输。我的意思是,如果你决定为你的服务选择一个更高性能的HTTP选项(比如命名管道),你就不会把你的asmx重写为另一种技术。 WCF服务与传输无关 - 这只是一个配置细节。
另外,应该提到REST。由于风靡一时,WCF支持REST服务实现,但在我看来,在ASP.NET MVC中实现REST服务API会更好。