jQuery.ajax调用中哪个更好?.Net Web服务还是.ashx?

5

最近我一直在练习jQuery.ajax()。我开始学习使用jQuery.ajax()调用.Net Web服务。

现在我在考虑,如果我仅使用jQuery.ajax()调用服务器上的某些服务方法,那么是否还有必要使用.Net Web服务,或者我应该改用.ashx处理程序呢?

谢谢!

3个回答

6

以下是来自ASP.NET论坛的两个引用:

除非是极高负载的情况,否则你会发现所有三种方法的性能几乎相同。处理程序/服务中代码的性能将是限制因素。

对于只打算暴露给浏览器的简单AJAX调用,我认为WCF不值得其增加的复杂性。它对某些事情非常有用,但我很难为此推荐它。

在ASMX和HttpHandler之间,我每次都选择ASMX。HttpHandler可能会快一点,但ASMX的“ScriptService”使复杂类型的JSON序列化和反序列化变得透明,这非常有用。


这里还有另一个选项:

如果你有一些想要运行的方法(并且你喜欢JQuery)...我建议看看这个:

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

以及相关文章。效果很好,带宽效率很高。他们还有一篇关于查询.asmx服务的文章。

没有与ASP.NET内置AJAX的臃肿大小纠缠不清。由于开箱即用的AJAX可能非常臃肿。而且它非常容易。


1
你还应该查看微软最新的Web服务框架:WebAPI
个人而言,我最近转向使用ServiceStack.NET进行我的Web服务,我发现它比WebAPI或WCF更容易和优雅。

0

相较于ASP.NET SOAP Web服务或ASHX服务,WCF服务是首选的方法。


1
ASMX服务不应与“SOAP Web服务”混淆。实际上,ASMX“ScriptServices”生成的JSON在一些方面更有用(字典和枚举),其JSON [de]序列化程序(JavaScriptSerializer)以一些其他方式比WCF的(DataContractJsonSerializer)更灵活地接收输入参数(日期时间和枚举)。 - Dave Ward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接