C# viewstate键的长度是否影响viewstate的大小?
有人建议,ViewState中使用的键的大小会导致性能问题,因为视图状态的大小会更大,因此会增加页面大小,从而增加渲染 虽然我可以看到较大的键可能会导致视图状态大小的增加,但我不确定其影响有多大 例如,C# viewstate键的长度是否影响viewstate的大小?,c#,asp.net,performance,viewstate,C#,Asp.net,Performance,Viewstate,有人建议,ViewState中使用的键的大小会导致性能问题,因为视图状态的大小会更大,因此会增加页面大小,从而增加渲染 虽然我可以看到较大的键可能会导致视图状态大小的增加,但我不确定其影响有多大 例如,ViewState[“MySpecialProperty”]是否会导致ViewState大于ViewState[“x”]?如果是这样的话,那么这种差异是否真的足以成为标准web应用程序中的一个问题呢 例如,ViewState[“MySpecialProperty”]是否会导致ViewState大于
ViewState[“MySpecialProperty”]
是否会导致ViewState大于ViewState[“x”]
?如果是这样的话,那么这种差异是否真的足以成为标准web应用程序中的一个问题呢
例如,ViewState[“MySpecialProperty”]是否会导致ViewState大于ViewState[“x”]
是的,当对键/值对进行编码时,得到的ViewState
会更大
这种差异是否真的足以成为标准web应用程序中的一个问题
依我看,不是。我更担心的是你在
ViewState
中放入了多少对,以及你是否真的需要将这些信息传递给客户端。是的,它会影响ViewState的大小,正如你提到的,如果你只在ViewState中添加一个变量,,那么它就不重要了,如果您开始编写变量,如x
,那么读取代码将是一件痛苦的事情,因此最好在有利于代码可读性的情况下保持平衡
在考虑这样做以提高性能之前,先创建一些负载测试,并根据测试结果做出正确的决定
ASPX页面的性能非常重要
不过,您可以尝试以其他方式提高与ViewState相关的性能,基本上,禁用不需要它的控件的ViewState
有关更多信息:
直接从马嘴里: …默认情况下,页面的视图状态位于名为uu VIEWSTATE的隐藏表单字段中。这个隐藏的表单字段很容易变得非常大,大约有几十KB。_uuuviewstate表单字段不仅会导致下载速度变慢,而且每当用户发回网页时,此隐藏表单字段的内容必须发回HTTP请求,从而延长请求时间,以及 查看成本状态 没有什么是免费的,视图状态也不例外。ASP.NET 每当ASP.NET网页出现时,“视图状态”将强制执行两次性能点击 请求:
因此,逐字节计算,是的,当您对条目使用更长的键时,视图状态将更长,因为应该将更多的字符转换为base64。但这从来都不是一个大问题,因为与数据长度的大小相比,键的大小(通常)非常小。viewstate键的长度确实会影响viewstate的大小。然而,这只是最低限度的。从我在“MySpecialProperty”和“x”上做的小测试中可以看出,两者相差20个左右的字符。也不是说,如果你有更长的钥匙,它可以加起来 但是,您应该关注存储在viewstate中的值,而不是键,因为这将占用更多的空间 一些参考资料: