2010-09-01 37 views
0

好的我在网上阅读关于MVC的文章时总是听到这样的话:“由于Asp.NET MVC是REST,所以很容易消耗......等等。”我从来没有听说过Asp.NET Webforms这样的事情,这让我想知道是什么让REST成为了什么。Asp.NET MVC是REST,但为什么Asp.NET WebForms不是?

据我所知,REST的意思是Representational State Transfer,其中用户在其浏览器上看到的是状态。但我不认为这意味着它总是应该像RPC一样MVC。它可能是服务器提供的物理页面,例如它在Asp.NET WebForms(Default.aspx)中的工作方式。只要它返回状态表示形式,就称为REST。

所以,如果我的理解是好的,那么不应该网络也是REST?

Uggh,我有点困惑....提前

感谢....

编辑和简短的回答: 好乡亲,听着这:)是我相信答案这是正确的:

* Give every “thing” an ID 
* Link things together 
* Use standard methods 
* Resources with multiple representations 
* Communicate statelessly 

,因为我们知道其余部分应符合以下基本原则因此,当我们知道,web表单使用高回传,会议取得的想法对以前的要求,你可以做回发无数次得到的东西,如:

search.aspx并张贴dropdownmenu的设定值,也没有弄,只能从服务器发布和回发。

那么它显然不可能是宁静的建筑风格。

+1

除非您是原始WebForms设计团队的成员,否则无法回答。 – jfar 2010-09-01 21:46:11

+0

为什么它被标记为“关闭”。我问我的问题。 – Tarik 2010-09-01 23:26:58

+0

当您阅读常见问题解答时,您应该延长“避免提出具有主观性,争议性或需要进一步讨论的问题”的句子。 :) – bzlm 2010-09-02 06:45:00

回答

1

这是令人惊讶的说法。如果我在ASP.NET MVC中使用会话,它将根本不是REST。

编辑:

REST是无状态的。如果我使用会话,则会变成有状态。随后的请求将能够使用状态(来自会话),所以HTTP响应将不包含整个状态。

+0

你能详细说明你最后的陈述吗? '如果我在ASP.NET MVC中使用会话,它根本不会是REST。' – Tarik 2010-09-01 23:32:36

+1

没有REST在恶人! – bzlm 2010-09-02 12:57:47

1

MVC中URL路由的目标是搜索引擎优化和用户友好的URL。它不是任何正式意义上的REST协议,因为它不使用HTTP动词(除了通常的GET和POST),并且不是为数据设计的。 URL对应于控制器和操作,而不是任何数据模式。

MVC也将优先考虑任何直接映射到文件的URL,因此WebForm类型的路由仍然是可能的。

WCF不支持REST,但作为数据传输协议,而不是页面映射机制。

您可能需要阅读REST;它确实与ASP.NET MVC路由完全分离。

+0

有一个图显示了MVC和REST之间的关系:http://ur.ly/kQPw,你可以在这个链接下找到整篇文章:http://ur.ly/kYT9 – Tarik 2010-09-01 23:31:13

+0

ASP.NET MVC拥有一流的功能,支持任何HTTP动词。停止FUD。 :) – bzlm 2010-09-02 06:44:08

+0

好的,我纠正了,但我不认为这是MVC的原始或主要意图。 REST是一项Web服务协议; ASP.NET MVC是关于网站和页面的设计和实现。我宁愿将服务设计和实现留给通信工具,如WCF。 – 2010-09-02 10:55:07