2011-11-20 64 views

回答

0

我也注意到,这个阶段,即使没有ViewState的(甚至几乎空白页)比较昂贵

我能够运行我在我的本地IIS实例项目,而不是运行大幅加快这个阶段了在Visual Studio开发Web服务器上。在发布模式和调试模式下编译似乎也有一些改进。

我的猜测是:1)没有什么可担心的,2)VS Web服务器可能比IIS的某些过程优化得更少。例如,IIS可能会缓存机器值(如注册表设置,证书等),VS Web服务器可能不会。

如果在SaveStateComplete期间运行加密例程(例如EnableViewStateMac="true"),则在VS Web服务器上运行本地计算机资源的调用可能要昂贵得多,即使没有实际加密。

我不认为这是一个很好的答案;如果您真的担心,可以通过配置ASP.NET来查看实际正在执行的操作(例如,哪个BCL方法正在被调用)。

0

SaveStateComplete的作用是在呈现之前保存控件的viewstate/controlstate。因此,除非您的页面/控件已禁用了viewsate(页面级别的EnableViewState =“false”),否则该作业总是完成。而且,禁用viewstate不会禁用控制状态。 你的网页上有很多控件吗?

+0

不,我甚至可以说0控件。 –