是ASP.NET MVC无状态

本文关键字:状态 MVC NET ASP | 更新日期: 2023-09-27 18:17:55

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

是ASP.NET MVC无状态

状态在ASP中管理。. NET (MVC和WebForms)通过几种方式:

    <
  • 会话/gh><
  • 饼干/gh>
  • 形式帖子
  • <
  • 应用程序/gh>查询字符串
  • 缓存
  • <
  • 上下文/gh>

MVC消除了ViewState,这意味着控件(文本框、复选框等)在每次返回页面时都会丢失它们的值。您需要手动或通过其他方式(例如,模型绑定)重新填充它们。

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

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

每个web框架都试图通过使用cookie或请求/响应特性(如查询字符串或FORM post)来克服这个问题。

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

我认为这是指MVC取消_VIEWSTATE字段的事实。

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

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

http中有一些机制允许你在请求之间保持某种形式的状态,比如Session和Application,但一般来说,这些应该尽可能少使用。

Webforms试图通过引入ViewState和Postback来创建状态假象。但这并不能改变web是无状态的这一事实。

我想说所有的网络通信都是无状态的,除了一些像SignalR这样的新技术[Async signaling library for ASP.NET to help build real-time, multi-user interactive web applications].

你发出一个请求并得到一个响应,就是这样,也许你正在考虑的是不使用ViewState像在webforms。