我可以编写什么ASP.NET页面生命周期事件来确定发送的视图状态的大小?此外,是否可以在不解析渲染的HTML(如页面对象上的属性)的情况下确定大小,还是解析唯一的方法?
我想要做的是记录尺寸,特别是如果它们超过某个阈值.
解决方法
您可以继续编写viewstate函数SavePageStateToPersistenceMedium.这个函数也用于压缩视图状态…
例如…
public abstract class BasePage : System.Web.UI.Page { private ObjectStateFormatter _formatter = new ObjectStateFormatter(); protected override void SavePageStateToPersistenceMedium(object viewState) { MemoryStream ms = new MemoryStream(); _formatter.Serialize(ms,viewState); byte[] viewStateArray = ms.ToArray(); .... } }
一些参考.
http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx
http://forums.asp.net/p/1139883/3836512.aspx
http://www.dotnetcurry.com/ShowArticle.aspx?ID=67&AspxAutoDetectCookieSupport=1