Asp.net mvc web应用程序或网站中的无状态是什么

Asp.net mvc web应用程序或网站中的无状态是什么,asp.net-mvc,webforms,stateless,Asp.net Mvc,Webforms,Stateless,我刚刚开始学习web应用程序开发的基础知识。当我阅读ASP.Net Web表单、ASP.Net MVC等不同的方法时,大多数教程在解释MVC和所有内容时都提到了术语“无状态”。我无法正确理解这个术语。你能解释一下吗 谢谢这意味着一般的web应用程序。无状态意味着服务器和客户端之间没有持久连接。客户说“嘿,google.com,给我那个网站”,然后谷歌回复。。之后,连接关闭 你需要更多的信息吗 在一个简单的例子中,当您处于无状态环境中时,您可以修改变量(比如用户名),但如果您重新加载页面(因为我

我刚刚开始学习web应用程序开发的基础知识。当我阅读ASP.Net Web表单、ASP.Net MVC等不同的方法时,大多数教程在解释MVC和所有内容时都提到了术语“无状态”。我无法正确理解这个术语。你能解释一下吗


谢谢

这意味着一般的web应用程序。无状态意味着服务器和客户端之间没有持久连接。客户说“嘿,google.com,给我那个网站”,然后谷歌回复。。之后,连接关闭

你需要更多的信息吗

在一个简单的例子中,当您处于无状态环境中时,您可以修改变量(比如用户名),但如果您重新加载页面(因为我们谈论的是webapps),该变量将重置。这就是为什么它被称为无状态,两个状态之间没有持久性(例如,每个页面刷新都是一个状态)

此处的状态是指服务器为其每个连接的客户端维护的交互状态。(请注意,它与MVC无关。)

换句话说:

你走进一家汉堡包店,柜台后面有几个人在帮人们点菜

如果在与柜台后面的人的每一次互动中,柜台后面的任何一个工作人员都能够为顾客服务,那么汉堡店的流程就是“无状态的”。例如,你说“给我一个汉堡”,有人给你一个汉堡。你说“卡彻普”,别人会给你你要的

如果这是一家“有状态”的汉堡店,你可以排队,每个顾客都会在柜台后面找一个特定的人看完他们的整个订单

有什么区别

在第一种情况下,无论柜台后面的任何工人发生了什么,您的订单都会一步一步地进行。每个步骤可能都是由不同的工作人员处理的(也可能是随机发生的,同一个工作人员完成了所有操作,但这只是偶然的机会)。您只需继续向柜台下订单即可

在第二种情况下,如果您的服务器在中途发生了某些事情,则必须将会话的状态传递给另一台服务器,以便它可以继续为您提供服务。否则你需要从头开始。保存状态需要花费一点努力——您需要将其写在某个地方,如果服务器停止运行,则接管您订单的另一台服务器需要获取该状态并在停止交互的地方恢复交互

去汉堡店吃午饭怎么样

在这两种情况下,经理只需在柜台后面添加新员工即可

考虑到第一个案例的无状态状态,新员工可以加入运营,并开始向已经处于订单中间的客户提供服务。有人说“Katchup?”也许一个新的服务器会说“给你”


在第二种情况下,每增加一台服务器只能帮助处理新订单(而不是正在处理的订单)。

谢谢。我有基本的想法。但为什么web窗体中的视图状态被认为是一个弱点,因为web应用程序是无状态的?Asp.NET webforms使用视图状态保存web控件的状态。Asp.NET Mvc没有ViewState和postBack.k。但是具有viewstate的webforms被认为是一个缺点。是吗?我不认为这是个缺点。我更喜欢mvc,因为它更接近html输出。结尾的一个笑话=>朋友们不让朋友们回头看();