对于AJAX MVC,通常使用ASP.NET代码(例如jQuery)从服务器调用web服务,而无需刷新页面。让web服务成为RESTful是很自然的。似乎有两条路要走。首先,Action是RESTful,很容易创建一些控制器/动作来充当ASP.NET服务方法。其次,从3.5版开始,WCF可以是RESTful。
那么,这两种方式的优缺点是什么呢?
对ASP.NET MVC的请求将通过ASP.NET管道。这会使它比WCF慢吗?
发布于 2008-12-08 19:35:25
如果您已经在网站的其余部分使用AJAX MVC,我认为对ASP.Net调用也使用相同的框架是有意义的。
关于ASP.Net管道,我假设您担心整个页面生命周期的事情。只有在WebFormViewEngine中使用视图时,才会执行页面生命周期。该框架为操作结果的简易JSON序列化提供了JsonResult,这完全绕过了ASP.Net页面的生命周期。类似的类也可用于XML、RSS等。
发布于 2009-01-21 00:02:09
在我的博客http://shouldersofgiants.co.uk/Blog/上,我整理了一系列文章,介绍如何使用ASP.Net MVC来提供RESTful web服务。
发布于 2008-12-15 22:32:56
你必须区分AJAX调用和REST API,因为AJAX调用是在你的应用程序的上下文中进行的,并且可以依赖于应用程序的上下文来进行会话、身份验证等事情。然而,REST API是一组供世界使用的API-因为它可以依赖于你的应用程序来进行身份验证等事情,所以它为保护来自客户端的调用带来了全新的复杂性。
如果您只需要应用程序的JS与服务器进行通信,那么使用MVC控制器是最简单直接的解决方案。
如果您希望将这些API与web站点的MVC代码分开(出于部署等目的)。或者,如果您需要一个REST API以供他人使用来调用您的应用程序- WCF。
https://stackoverflow.com/questions/349717
复制相似问题