Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC是无状态的吗?_C#_Asp.net Mvc - Fatal编程技术网

C# ASP.NET MVC是无状态的吗?

C# ASP.NET MVC是无状态的吗?,c#,asp.net-mvc,C#,Asp.net Mvc,我听说MVC.NET是无状态的。这意味着什么?为什么MVC是无状态的 MVC不是(完全)无状态的。没有web框架是可用的 我认为这是指MVC取消了_VIEWSTATE字段 但一定要提供链接或更多信息 我想说,除了一些新技术,如 [ASP.NET异步信号库帮助构建实时、多用户交互式web应用程序] 您发出一个请求并得到一个响应,也就是说,可能您想的不是像webforms中那样使用ViewState。web是无状态的,因此任何构建在http之上的东西都是无状态的。我所说的无状态是指每个请求/响应都

我听说MVC.NET是无状态的。这意味着什么?为什么MVC是无状态的

MVC不是(完全)无状态的。没有web框架是可用的

我认为这是指MVC取消了_VIEWSTATE字段


但一定要提供链接或更多信息

我想说,除了一些新技术,如
[ASP.NET异步信号库帮助构建实时、多用户交互式web应用程序]


您发出一个请求并得到一个响应,也就是说,可能您想的不是像webforms中那样使用ViewState。

web是无状态的,因此任何构建在http之上的东西都是无状态的。我所说的无状态是指每个请求/响应都是一个原子单元,不知道以前的任何请求

http有一些机制允许您在请求(如会话和应用程序)之间保持某种形式的状态,但通常应尽量少使用这些机制


Webforms试图通过引入ViewState和Postback来创建状态错觉。但这并没有改变web是无状态的事实。

MVC是无状态的,因为HTTP是无状态的。HTTP中没有任何内容指示会话何时开始或结束


每个web框架都试图通过使用cookie或请求/响应功能(如查询字符串或表单帖子)来克服这一问题。

状态在ASP.NET(MVC和WebForms)中通过以下方式进行管理:

  • 会议
  • 饼干
  • 门柱
  • 应用
  • 查询字符串
  • 缓存
  • 上下文
MVC消除了ViewState,这意味着控件(文本框、复选框等)在每次回发页面时都会丢失其值。您需要手动或通过其他方式(例如,模型绑定)重新填充它们


MVC并不是真正的无状态,但它确实删除了ASP.NET中最常见的一种持久化状态的方法——ViewState。

可能意思是它不像ASP.NET网页那样保持ViewState。这是真的。这种选择更符合HTTP的无状态特性,这很可能就是选择它的原因。只有设计师们可以放心地说,尽管我为这个事实感到高兴。你能提供更多的信息或链接吗?就目前而言,你的问题是基于一个未知的可疑“事实”的陈述。你是说HTTP上的一切都是无状态的?WebForms也在HTTP上运行。@Henk WebForms使用viewstate和POSTs来维护状态。@HenkHolterman:是的。HTTP是无状态的。没有“会话”。WebForms通过使用超时并通过请求/响应结构传输其信息来模拟会话。当用户关闭其web浏览器/会话时,您将永远不会收到HTTP通知。@HenkHolterman:它们是无状态的,因为您永远无法知道用户何时停止使用您的站点,或者如果浏览器无法传输您的状态参数,会话将丢失。与FTP或IRC相比。他们内置了会话支持。尝试在没有cookie的情况下维护状态。这是可能的,但很难看(用户可以从帖子中删除任何查询字符串参数或viewstate)。它仍然是有效的HTTP,但会话将丢失。@7hi4g0:该问题包含ASP.NET-MVC标记,因此它特定于ASP.NET MVC,而不是设计模式MVC。实际问题的标题和问题本身也是如此。如果给出关于模式的答案,那将是不可能的。但是,嘿,如果你认为这是一个-1的答案,那么无论如何,去吧。