使用自定义视图状态提供程序会带来什么陷阱?

问题描述

| 我最近开始研究如何使用自定义视图状态提供程序将视图状态的存储从页面移动到服务器。这样做的明显好处是减小了呈现的页面大小,从而增加用户体验。另外,我知道的最大缺点是服务器内存使用量会增加。对于此问题,我可以轻松地将存储移动到与Web服务器(例如AppFabric)不同的服务器上。除此之外,还会出现其他陷阱吗?在某些情况下会使用普通视图状态提供程序而不使用自定义视图状态提供程序吗? 希望我的问题清楚。 谢谢!     

解决方法

最近,我在应用程序中执行了此操作,并且没有任何问题。 但是在维护自定义Viewstate之前,您必须考虑用户流量。如果流量很高,那么我不建议在服务器上维护Viewstate。在这种情况下,您必须考虑其他方法来提高应用程序的性能。 看看这篇非常好的文章,分析将ViewState排除在页面之外     ,如果保存该数据的线程/进程崩溃,那么您将丢失它(假设您要将其存储在内存中)。与inproc / aspstateserver会话相同。有时它只是崩溃=再见,数据。但是当您的视图状态存储在页面上=更高的可靠性时,这是不可能的。