【问题标题】:Accessing Data - view state vs calling store procedure访问数据 - 查看状态与调用存储过程
【发布时间】:2014-05-23 15:17:12
【问题描述】:

在 asp.net 用户控件中,我使用了大约 7-8 个属性并在视图状态下保存小数据(即 ID、状态等)。

我想知道通过调用存储过程而不是将它们保存在视图状态中来访问所需的值是否更好。

我使用视图状态通过不调用存储过程来减少网络流量,但不知道这样做是否正确,因为拥有大量视图状态会影响页面性能。

【问题讨论】:

  • 除了 AcidJunkie 的回答之外,您可能还需要考虑数据的性质。你能在没有任何反作用的情况下丢失你的“小数据”吗?您的应用程序是否需要这些数据?有人刚刚打开您的网站后,您是否需要获取这些数据?当您关闭浏览器或转到其他网页时,您的视图状态会丢失。
  • 我知道视图状态是如何工作的,它是特定于一页的。在保存和绑定记录时,视图状态中的数据将被黑白使用。

标签: c# asp.net vb.net sql-server-2008 design-patterns


【解决方案1】:

没有一般的“最佳方式”。这真的取决于

  • 视图状态中将存储多少数据连同网络带宽
  • 数据库查询的成本是多少

作为在视图状态中存储数据的替代方法,您可以在服务层中使用一些服务器端缓存

【讨论】:

  • viewstate中的数据很重要,不知道保存在缓存中好不好?能丢吗?
  • 好吧,viewstate 也可能会丢失。不要指望我们在这里解决您应该考虑所有方面的架构决策。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 2020-04-30
  • 2013-04-18
相关资源
最近更新 更多