最近我一直在练习jQuery.ajax()。我开始学习使用jQuery.ajax()调用.Net Web服务。
现在我在考虑,如果我仅使用jQuery.ajax()调用服务器上的某些服务方法,那么是否还有必要使用.Net Web服务,或者我应该改用.ashx处理程序呢?
谢谢!
最近我一直在练习jQuery.ajax()。我开始学习使用jQuery.ajax()调用.Net Web服务。
现在我在考虑,如果我仅使用jQuery.ajax()调用服务器上的某些服务方法,那么是否还有必要使用.Net Web服务,或者我应该改用.ashx处理程序呢?
谢谢!
以下是来自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可能非常臃肿。而且它非常容易。
相较于ASP.NET SOAP Web服务或ASHX服务,WCF服务是首选的方法。