有人建议,ViewState中使用的键的大小会导致性能问题,因为视图状态的大小会更大,从而增加页面大小,从而增加呈现。
虽然我可以看到,较大的键可能会导致视图状态大小的增加,但我不确定其影响是否显着。
举个例子,ViewState["MySpecialProperty"]产生的ViewState比ViewState["x"]大吗?如果是这样的话,差异是否真的足够显著,足以成为标准web应用程序中的一个问题。
发布于 2012-07-06 08:33:37
视图状态键的长度确实会影响视图状态的大小。然而,它只是最小的。从我在'MySpecialProperty‘和'x’上做的小测试中可以看出大约20个字符的差异。也不是说,如果你有更长的密钥,它可能会增加。
但是,您应该关注存储在视图状态中的值,而不是键,因为这将消耗更多的空间。
一些参考资料:
发布于 2012-07-06 08:24:41
以
为例,ViewState"MySpecialProperty“会比ViewState"x”产生更大的ViewState吗?
是的,随着键/值对的编码,产生的ViewState会更大。
在一个标准的web应用中,
的差异是否真的足够重要,足以引起人们的关注?
国际海事组织不。我更担心的是您在ViewState中放入了多少对,以及您是否真的需要将这些信息传递给客户端。
发布于 2012-07-06 08:26:51
是的,这会影响ViewState的大小,正如你提到的,如果你只向ViewState添加一个变量,并不重要。另一方面,如果你开始编写像这样的变量,读取代码将是一件痛苦的事情,所以最好在代码的可读性方面取得平衡**
在考虑这样的事情来提高性能之前,创建一些负载测试,并根据结果做出正确的决定。
ASPX页面的性能是非常重要的,take a look to the 8 seconds rule
但是,您可以尝试以其他方式提高与ViewState相关的性能,基本上,对不需要的控件禁用ViewState
有关详细信息,请参阅:
http://www.guidanceshare.com/wiki/ASP.NET_2.0_Performance_Guidelines_-_View_State
https://stackoverflow.com/questions/11354320
复制相似问题