问题遇到的现象和发生背景
不执行Session_OnEnd中的代码。除此之外全站代码均能正常运行。
两台服务器,均是相同硬件、软件配置(windows2012,iis8),合计20几个站点。现在只有一台服务器上一个站点可以执行Session_OnEnd中的代码,且没有问题,其它站点均提示此错误。测试过程中发现只要点回收,就在日志中出此错误提示。
问题相关代码
在多个站点上我用来测试的代码很简单,就是最简单计数器:
sub Application_OnStart
Application("PAGEHOMEonline")=0
Application("FlagOne")=""
End sub
Sub Session_OnStart
Session("StartTime") = time()
session.timeout = 1
Application.Lock
Application("PAGEHOMEonline")=Application("PAGEHOMEonline") + 1
Application.Unlock
End Sub
Sub Session_OnEnd
Application.Lock
Application("FlagOne")="Run!"
Application("PAGEHOMEonline")=Application("PAGEHOMEonline") - 1
Application.Unlock
End sub
Sub Application_OnEnd
End sub
运行结果及报错内容
不执行Sub Session_OnEnd中的代码
windows日志-应用程序-错误事件ID21
未能检索 ASP 应用程序 /LM/W3SVC/10094/ROOT 的匿名用户令牌。将不执行 Global.ASA OnEnd 例程。
我的解答思路和尝试过的方法
重新布置站点,重置IIS目录权限,重新设置回收池,把没有问题的站点全站复制出一个,除了域名不同其它配置设置均相同,均无法解决。
我想要达到的结果
正常执行:Session_OnEnd中的代码,日志不再出现错误事件ID21的提示