哪一个更适合 jQuery.ajax 调用? .Net Web 服务还是 .ashx?

Posted

技术标签:

【中文标题】哪一个更适合 jQuery.ajax 调用? .Net Web 服务还是 .ashx?【英文标题】:Which one is better for jQuery.ajax calls? .Net Web-Service or an .ashx? 【发布时间】:2011-07-29 10:07:40 【问题描述】:

我最近一直在练习 jQuery.ajax()。我已经开始学习调用 .Net web-services qith jQuery.ajax()。

现在我正在考虑是否将 only jQuery.ajax() 调用用于服务器上的某些服务方法;拥有 .Net Web-Services 是否仍然有意义,或者我应该改用 .ashx 处理程序?

谢谢!

【问题讨论】:

【参考方案1】:

来自the ASP.NET forums的两个引号:

除非是负载极高的情况,否则您会发现所有 三者的表现几乎相同。你的代码在里面的表现 处理程序/服务将成为限制因素。

对于仅用于公开的简单 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 可能非常臃肿。另外它非常 容易。

【讨论】:

【参考方案2】:

您还应该看看微软最新的 Web 服务框架:WebAPI

就个人而言,我最近切换到ServiceStack.NET 用于我的网络服务,我发现它更容易和优雅(比 WebAPI 或 WCF)。

【讨论】:

【参考方案3】:

WCF 服务将是 ASP.NET soap Web 服务或 ashx 服务的首选方法。

【讨论】:

ASMX 服务不应与“SOAP Web 服务”相混淆。事实上,ASMX“ScriptServices”产生的 JSON 在几个方面(字典和枚举)更有用,它的 JSON [de]serializer(javascriptSerializer)在其他几个方面(DateTimes)接收输入参数比 WCF(DataContractJsonSerializer)更灵活和枚举)。

以上是关于哪一个更适合 jQuery.ajax 调用? .Net Web 服务还是 .ashx?的主要内容,如果未能解决你的问题,请参考以下文章

其中哪一个更适合论坛的 ASP.NET Access 数据库[关闭]

有没有更标准的方法可以从 jQuery ajax 调用中恢复功能?

XMLHttpRequest、jQuery.ajax、jQuery.post、jQuery.get 有啥区别

PHP & jQuery ajax 调用无需等待响应

哪一个更适合访问数组?

jquery中ajax的dataType属性包括哪几项