MVC RESTful由设计
MVC必须是RESTful吗?
有没有办法使用MVC
模式来制作SOAP
服务?
输入请求是否会首先进入View
,然后进入Controller
然后是Model
例如:
Request -> View -> Controller -> Model
但是这样做,这不再是MVC模式。 (这是对的不是吗?)
我们还会如何使用SOAP
获得类型化的响应,但仍然坚持(或接近) MVC
模式。 相反,MVVM会更适合这种情况吗?
REST描述了如何与应用程序交互,而MVC则是如何实现应用程序。 使用MVC实现的应用程序可以是RESTful或不是。
SOAP是与应用程序接口的协议,可以使用MVC实现。
在MVC中,请求会进入控制器,为视图创建一个模型。
Request -> [Controller] -> Model -> [View] -> Response
请求被路由到您的控制器上的一个动作,该动作使用一个模型(您定义的模型;它仅仅是一个表示您的动作和视图将运行的数据的结构)。 这个动作返回一个ActionResult
,它通常但不一定是ViewResult
(它本质上只是执行你指定的视图页面,使用你指定的模型,如果有的话)。 但是,您不必返回视图; 你可以创建任何你想要的ActionResult。 你可以返回XML,JSON,SOAP,二进制内容等等。
MVC本质上是宁静的,但它并不严格遵守REST,并且可以根据您认为合适的方式进行定制。 你可以让你的控制器讲SOAP,但是我的问题是你为什么会在其他技术(如WCF)中为你做这项工作?
HTTP被设计为RESTful。 关于什么是REST的详细讨论在这里。 MVC对于RESTful与否没有限制。 ASP.Net MVC支持REST风格的Web开发。 你可以让你的网站RESTful或不,这是你的选择。 SOAP是协议。 在.Net中最好使用WCF来处理SOAP。 WCF服务可以与您的ASP.Net MVC应用程序一起部署。 但是我们没有在WCF内部实现MVC。 一般来说,我们根本没有Web / WCF服务中的UI部分。
链接地址: http://www.djcxy.com/p/12329.html