日期:2008-09-02  浏览次数:21200 次

有许多理由可以要求避免使用IIS的会话状态,不过这需要另外一篇文章说明。我们这里回答的问题是:当页面确实不需要会话状态时,关闭它是否会提高性能?从理论上来讲是肯定的,因为不需要为该页面初始化会话状态。


和缓冲一样,会话状态也可以通过两种方式设置:通过脚本或者通过服务器配置。

6.1 通过脚本关闭会话状态

在测试中,我们用< %@ ENABLESESSIONSTATE = FALSE % >声明来关闭会话状态。
< %@ ENABLESESSIONSTATE = FALSE % >
< % OPTION EXPLICIT
Dim FirstName
...
/app2/session_1.ASP片断

基 准 = 5.57 毫秒/页
响应时间 = 5.46 毫秒/页
差 额 = -0.11 毫秒 (减少 2.0%)




增加了少量的工作,结果是性能也略有改善。下面我们来看第二种方法。

6.2 通过设置服务器关闭会话状态

要在服务器上关闭会话状态,先打开网站的属性页面。从这个对话框中,选择主目录页的配置按钮,然后在“应用程序选项”下取消“启用会话状况”。下面的测试脚本不包含< %@ ENABLESESSIONSTATE = FALSE % >声明。
基 准 = 5.57 毫秒/页
响应时间 = 5.14 毫秒/页
差 额 = -0.43 毫秒 (减少 7.7%)

又是一次成功的性能提升!现在我们得到了如下规则:

如果允许的话,总是通过脚本或者服务器设置关闭会话状态。