我有一个viewstate来存储来自SharePoint的数据查询,
数据可能非常庞大,
我想在viewstate中存储的原因是为了稍后对查询数据进行过滤。
但是,我不确定它是否会导致任何性能问题,因为有很多数据(行和列),因为我知道viewstate将消耗客户端浏览器的内存。
那么实际上可以查看多少数据存储?
答案 0 :(得分:6)
是的,它绝对会导致性能问题,因为它会增加页面的大小。由于性能问题,ViewState能够存储比应该存储的数据更多的数据。
我会探索其他选项,例如缓存等。
答案 1 :(得分:1)
每次回发都会在服务器上向客户端发送Viewstate数据,从而导致用户每次都下载该信息。存储在viewstate中的数据越多,页面加载的速度就越慢。
但是要回答你的问题,viewstate没有大小限制。
答案 2 :(得分:0)
如果我没记错的话,ViewState嵌入在源代码中(查找<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="xxxxxxxx" />
)。在ViewState中拥有大量数据会导致您的页面在每次请求时发出更多字节的POST(并且您需要执行POST来访问该ViewState)。还有解密ViewState数据的成本(虽然我不知道可能会产生什么样的影响......)。
希望这有帮助!
答案 3 :(得分:0)
ViewState不仅会在用户的浏览器中使用内存,还会降低页面加载的性能,因为浏览器每次都必须向/从服务器发送/接收所有数据。
就像其他人所说的那样,使用服务器端会话状态或服务器端缓存会更好。
答案 4 :(得分:0)
当您使用ViewState时,它已从服务器获取并将导致性能问题。用户浏览器也可能影响性能。
虽然隐藏字段的最大大小没有发布限制 (viewstate的实现)和大多数浏览器允许大尺寸,一些 已知代理服务器将它们限制为4k。