对控制器或服务作为代理的jQuery AJAX请求?

时间:2011-07-25 17:26:55

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

我已经看到了对控制器或服务(.asmx,.svc)的AJAX请求方法,这些方法充当代理,可以调用其他域上的Web服务。

使用服务似乎是最干净,最合乎逻辑的路径,但有没有使用调用Controller的参数?我知道有些人会使用.aspx页面并将响应更改为JSON,但是执行整个页面生命周期的开销很大,而且似乎一切都很混乱。我现在正在加速MVC,我想知道控制器是否会有相同的开销 - 我认为一些但很少有MVC的架构。

思考?

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

2 个答案:

答案 0 :(得分:2)

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

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

ASMX大部分已经过时,WCF可能过于复杂而且不需要。

答案 1 :(得分:1)

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