微软文档 http://www.asp.net/aspnet/overview/developing-apps-with-windows-azure/building-real-world-cloud-apps-with-windows-azure/web-development-best-practices鼓励保持 Web 应用程序无状态,但也提到现实世界的应用程序需要存储数据,建议
“不要将其存储在 Web 服务器上。您可以通过其他方式存储状态,例如在客户端的 cookie 中或在进程外服务器端使用缓存提供的 ASP.NET session 状态”。
按照这个逻辑,在 ASP.Net Web Forms 应用程序中使用 ViewState 是有状态的还是无状态的?它保存在客户端,与上述 cookie 相同。假设我不使用任何 Session 和 Application 来存储数据的理想情况。
最佳答案
当然;在无状态方面,使用 ViewState 就像使用 cookie 一样。
请注意,Web 窗体是一种过时的技术,MS 和开发社区已经放弃了它。您应该查看 Razor 模板,这是一种更轻量级和更灵活的方法来呈现 asp.net web 应用程序。
膨胀是 ViewState 中保存的数据量的一个大问题,虽然如果您正在创建部门 CRUD 应用程序,这可能没问题,但它可能不适用于针对移动设备的东西。
此外,Web 窗体生成非常特殊的 HTML,这使得现代客户端技术难以使用。
Here's a link to a pretty good article关于 Razor 模板的兴起和网络表单的衰落。
关于asp.net - 无状态的 asp.net 应用程序和 ViewState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36534202/