Asp classic IIS 7.5上的内部服务器500错误经典asp

Asp classic IIS 7.5上的内部服务器500错误经典asp,asp-classic,iis-7.5,Asp Classic,Iis 7.5,我最近将一个经典的asp站点移动到运行IIS 7.5的Windows 2008服务器上 主页是一个框架页面,上面有两个框架-底部框架包含两个iFrame。javascript计时器在头帧中运行,并强制两个iFrame中的页面每10分钟重新加载一次。在所有其他条件相同的情况下,这项工作非常完美——而且会话从不超时。在屏幕上,我会显示“10.35时的上次更新”,这样用户就可以看到上次更新的时间。主框架页面和iframes中的每个页面顶部都有 IF IsEmpty(Session("CoID")) T

我最近将一个经典的asp站点移动到运行IIS 7.5的Windows 2008服务器上

主页是一个框架页面,上面有两个框架-底部框架包含两个iFrame。javascript计时器在头帧中运行,并强制两个iFrame中的页面每10分钟重新加载一次。在所有其他条件相同的情况下,这项工作非常完美——而且会话从不超时。在屏幕上,我会显示“10.35时的上次更新”,这样用户就可以看到上次更新的时间。主框架页面和iframes中的每个页面顶部都有

IF IsEmpty(Session("CoID")) THEN
Response.Write ... some javascript to replace the main page with the log in page
END IF
正如我所说的,这种方法在大多数情况下都非常有效

以用户身份使用该网站-如果我的邮箱进入睡眠状态,并且由于internet连接不可用而刷新无法工作-当我唤醒邮箱时,页面可能位于那里,最后一次更新时间为10.50(例如,这可能是两个小时前)。机器一唤醒,刷新就会发生——现在你可能认为会话会丢失,检测到空会话的代码就会启动,并用登录页面替换该页面。但是,这并没有发生。相反,我得到两条500内部服务器错误消息,这两个页面应该在iframe中


我不明白的是——如果我右键单击标题并选择“刷新”——它会执行它应该执行的操作——检测到会话为空,并用登录页面替换主页面。为什么iframes中的两个页面不做相同的事情?检测空会话代码在所有页面上都是相同的,但由于某些原因,当刷新尝试在两个iFrame中重新加载页面时,会生成一个500内部服务器错误。

我建议将
会话(“CoID”)
分配给一个变量,然后测试它,即

Dim sess
sess = Session("CoID")

If sess = "" Then 
    ' code you want to execute '
End If

由于
IsEmpty
有时会意外地将指定了空行的字符串验证为
true
,因此我认为检查变量是否等于
“”
更安全。

是什么导致了500个错误?您是否在IIS中启用了详细错误,以查看它位于哪一行?