经典ASP网站页面没有响应,但如果在服务器中请求页面,则可以正常工作

时间:2012-03-13 15:37:53

标签: iis asp-classic

我们有一个在IIS 7.5中托管的经典ASP网站。我正在寻找这种奇怪的行为,我正试图找到一个解决方案。现在,许多页面之一(不是所有页面)的问题是http://website.com/admin/customers.asp

  • 如果从托管应用程序的服务器内的浏览器请求此页面,则一切正常。
  • 如果在服务器之外请求页面,即从某台机器请求页面,则该页面永远不会响应。而这里的一个奇怪的部分是,当通过萤火虫看时,IIS也没有撤回任何状态代码......我看到了“(已中止)”的状态。
  • 现在这里有一个更有意思的点,请求的页面显示7个客户记录,但是如果我调整sql查询以返回5个或更少的客户,那么一切正常。

我从过去1天开始研究这个问题,到目前为止认为代码在这里不是问题,因为它在具有相同数据和数据库的服务器中工作。此外,如果返回5个或更少的记录,页面工作正常......

如果有人能帮我解决这个问题,我真的很感激......

3 个答案:

答案 0 :(得分:1)

所以,正如我所提到的那样,问题在于我正在测试的服务器,结果发现我们必须将TCP / IP关闭负载设置为禁用(通过Broadcom客户端UI)。 虽然,仍然需要弄清楚为什么我们必须这样做......

非常感谢你的时间和建议......

答案 1 :(得分:0)

乍一看,我确实认为您在互联网和托管网站的机器(代理问题,防火墙等)之间存在问题。但是,由于您声明在更改代码的一部分以显示5个结果而不是7时解决了问题,我认为您正在迭代记录集而未指定要翻转的代码:

rs.moveNext

答案 2 :(得分:0)

正如我在评论中建议的那样,尝试通过写入文本文件来调试问题,并希望找到代码卡住的位置。示例代码为:

<%
Option Explicit

Dim objFSO, oLogFile, myCounter
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oLogFile = objFSO.CreateTextFile(Server.MapPath("customer_log.txt"))
oLogFile.WriteLine "BEGIN - " & Now()

'here comes your own code
'.....
'for example loop over some recordset
oLogFile.WriteLine "LOOP START - " & Now()
myCounter = 0
Do Until oRS.EOF
    oLogFile.WriteLine "Loop iteration #" & (myCounter + 1) & " Started - " & Now()
    '.....
    '.....
    '.....
    oLogFile.WriteLine "Loop iteration #" & (myCounter + 1) & " Finished - " & Now()
    myCounter = myCounter + 1
    oRS.MoveNext
Loop
oLogFile.WriteLine "LOOP END - " & Now()
oRS.Close
oLogFile.WriteLine "Recordset was closed - " & Now()
'.....


'after your code is finished:
oLogFile.WriteLine "END - " & Now()
oLogFile.Close
Set oLogFile = Nothing
Set objFSO = Nothing
%>

现在,在浏览器中执行页面后,在与ASP文件相同的目录中查找名为“customer_log.txt”的文件并检查其内容。