WCF vs ASPX webmethods vs ASMX webmethods

use*_*265 7 asp.net wcf web-services asmx ashx

目的是创建一组人们可以重用的Web服务.这些服务主要与后端数据库交互,创建,检索和处理数据.

我们希望公开服务,以便人们可以使用它来创建数据mashup和其他应用程序.

最终用户是可以在我们的域内或域外的网页.对于域外的页面,我们计划发布可配置为检索和显示数据的小部件.

一个要求 - 应用程序应该在其可以处理的用户数量方面具有极高的可扩展性.

我们的代码库是.net,我们正在研究ASPX webmethods(或ASHX),ASMX webmethods和WCF(开始阅读WCF).

在安全性/访问方面,我发现维护sessionid,会员资格在这三个方面都是可行的.WCF似乎有点复杂.当我们在aspx中使用web方法完成所有操作时(我稍微调整一下),我无法立即看到asmx的值.

另外,假设使用ASP.NET MVC2,我也可以为这些web方法获取干净的URL.

问题

哪个在性能可扩展性方面最有效?我应该选择WCF或ASMX的任何理由?

感谢您抽出宝贵时间阅读这篇文章,并为我刚接触.net的天真问题道歉.

编辑我有点明白WCF是要走的路.只是为了理解这些技术的发展,如果有人可以说明为什么aspx webmethod与asmx不同,当两者都能完成类似的事情(除了发现之外)之外,这将是一件好事.可以使aspx webmethods以其他格式(明文,json)返回数据.此外,我们似乎可以使用ashx构建restful服务.再次为天真的问题道歉.

sof*_*eda 9

您应该使用WCF在.Net中开发Web服务.WCF具有高度可配置性,具有许多安全性,传输协议,序列化,扩展等选项.原始性能也明显更高.此外,WCF正在积极开发,并且在版本3.5和版本4中添加了许多新功能.还有诸如WCF数据服务和WCF RIA服务之类的变体.WCF 4.0还具有更好的REST和JSON支持,您可以直接在ASP.Net/JQuery中使用它们.