【问题标题】:Storing objects in controls在控件中存储对象
【发布时间】:2013-06-06 09:48:03
【问题描述】:

我对此感到困惑一段时间,所以我想我会在这里问。我注意到很多控件可以在winforms中存储对象,但不一定在web表单中。例如,winforms 中的checkBoxList 可以保存对象,而Web 表单中的checkBoxList 则不能。谁能告诉我为什么会这样,还有,如果有任何链接到一个列表,我可以在其中查看 winforms 和 webforms 中存储或不存储对象的所有控件。

谢谢。

【问题讨论】:

  • 存储对象,如Tag?
  • 存储类对象等对象,而不仅仅是存储值。
  • REST 是问题所在。 ListControl 的项目存储在视图状态中。这要求它们是可序列化的。序列化字符串或 ListItem 没问题,无类型对象的大问题。

标签: .net winforms object webforms servercontrols


【解决方案1】:

区别在于状态。 WinForms 使用statefull 设计,WebForms 使用stateless 设计或有时sticky session。我没有清单,但它们是完全不同的技术,我不想混合使用它们。

有状态

对象状态在程序生命周期内保持不变。除非您显式或隐式请求对象终止,否则它将保留在内存中。

无状态

这用于请求-响应架构。客户端发出一个独立的请求,服务器处理它并返回一个独立的响应。服务器上的数据被清理。这就是为什么 Web 应用程序可以支持许多并发用户而不会因内存不足异常而死亡。虽然保存了一些次要状态。在 Web 应用程序中,它通常以隐藏字段或 cookie 的形式存储在请求和响应中。

粘性会话

这用于网络场和负载平衡环境,因此来自同一用户的请求通常会传送到同一台服务器。这很好,因为服务器可能会缓存一些关于用户请求的数据并更快地形成响应。

【讨论】:

  • 谢谢,这解释了很多。
猜你喜欢
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多