【问题标题】:jQuery AJAX request to Controller or Service as Proxy?jQuery AJAX 请求控制器或服务作为代理?
【发布时间】:2011-07-25 17:26:55
【问题描述】:

我已经看到了向控制器或服务(.asmx、.svc)发出 AJAX 请求的方法,它们充当代理来调用其他域上的 Web 服务。

使用服务似乎是最干净和最合乎逻辑的路线,但是对于使用对控制器的调用有什么论据吗?我知道有些人会使用 .aspx 页面并将响应更改为 JSON,但是执行整个页面生命周期会产生开销,而且看起来很混乱。我现在正在加强 MVC,我想知道控制器是否会有相同的开销 - 我认为一些但很少有没有 MVC 的架构。

想法?

Per Dave 在下面的评论中将 HttpHandler 添加到候选列表中。

【问题讨论】:

    标签: jquery asp.net-mvc ajax wcf asmx


    【解决方案1】:

    如果您正在使用 ASP.NET MVC 并且您想为您的 Web 应用程序创建代理服务(它不应该被任何其他应用程序使用),那么最合适的是控制器。这将使您的架构保持一致。

    HttpHandler 是个好主意,但我仍然更喜欢控制器,因为 MVC 会很好地为您处理路由到操作,并且您仍然可以轻松测试代码。

    ASMX 大多已过时,WCF 可能过于复杂,因此不需要。

    【讨论】:

    • 这是我一直在脑海中盘旋的基本原理。从架构的角度来看,尤其是企业,一致性是巨大的 IMO。此外,与使用服务或 httphandler 代理相比,由于缺乏更好的术语,它似乎更“大步向前”。我不想为了代码的整洁而牺牲性能,但我找不到任何指标来真正以某种方式影响论点。
    【解决方案2】:

    出于纯粹的中继目的,我喜欢服务器端的 ASHX HttpHandler。这几乎是最简单的设置,并且开销最小。

    【讨论】:

    • 有趣。没考虑过那条路。仍然有待讨论,但我们可以将 HttpHandler 方法投入使用。
    • 对不起,福尔摩斯。不幸的是,我无法为一个线程确定两个答案,但非常感谢您的输入。我没有足够的代表点来投票,但当我这样做时,我会确保回圈并投票。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2010-10-14
    • 2012-06-10
    相关资源
    最近更新 更多