2011-11-09 142 views
0

我最近将一个经典的asp网站移到了运行IIS 7.5的Windows 2008服务器上。IIS 7.5上的内部服务器500错误经典asp

主页是一个框架页面上有两个框架 - 底部框架包含两个iframe。 JavaScript定时器运行在标题框架中,并强制两个iframe中的页面每10分钟重新加载一次。所有其他的事情都是平等的,这是完美的 - 会议永不超时。在屏幕上我显示'最后一次更新为10.35' - 所以用户可以看到最近一次更新的时间。与I帧 - - 主框架页中每个页面都有,在顶部..

IF IsEmpty(Session("CoID")) THEN 
Response.Write ... some javascript to replace the main page with the log in page 
END IF 

正如我所说的 - 这工作的大部分时间完美。

使用该网站作为用户 - 如果我的盒子进入睡眠状态,刷新不起作用,因为互联网连接不可用 - 当我唤醒盒子时,页面可能会坐在那里,最后更新在10.50例如,这可能是两个小时前)。立即机器唤醒尝试发生刷新 - 现在你会认为会话会丢失,检测到空会话的代码会启动并用登录页面替换页面。但是,这并没有发生。相反,我得到两个500内部服务器错误消息,其中iframe中的两个页面应该是。

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

+0

什么导致500错误?你有没有在IIS中启用详细的错误,以查看它正在崩溃的线? –

回答

0

我建议分配Session("CoID")给一个变量,然后测试它,即

Dim sess 
sess = Session("CoID") 

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

由于IsEmpty有时会意外地验证为true对于有分配给他们一个空行字符串,我想检查是否变量等于""更安全。

相关问题