操作超时 - ASP

时间:2011-10-01 02:07:00

标签: iis asp-classic

我有一个在IIS 5.1上运行的vanilla ASP应用程序。 ASP文件中的以下代码导致IIS抛出“操作超时”错误。但是,尽管存在错误,该过程仍然在后台运行在服务器上,并最终按预期完成。

我通过IIS MMC和ASP文件(Server.ScriptTimeout)将ASP脚本超时从90秒(默认)增加到600,1000甚至10000秒(我知道非常高的脚本超时的影响)但是无论设置的脚本超时如何,都会始终出现错误。

WebServ是一个COM +应用程序,我观察到在应用程序内运行的过程大约需要80到90秒。此应用程序不会在内部操纵任何IIS设置。

尽管可以优化COM +应用程序中的代码,但我怀疑优化本身是否有用,因为应用程序处理存储在SQL Server中的大量数据。因此,随着数据库的增长,应用程序需要超过90秒才能完成整个过程的可能性很高。

因此有人可以帮助我理解 1.无论ASP脚本超时设置如何,为什么会出现错误“操作超时”? 2.我们应该怎么做才能为ASP文件花更多的时间来完成这个过程?

P.S。我确实在这里浏览了与此错误消息相关的其他一些帖子,但遗憾的是没有找到任何有用的信息。

感谢。

<%
Server.ScriptTimeout = 10000

.... initialize the variables....

Set WebServ = CreateObject("WebServ.RunCommand")

lcResult = WebServ.Call(SessionKey, ConfigID, Program, Function, Mode, Params)

Set WebServ = Nothing

With Response
    .ContentType = "text/xml"
    .Write(lcResult)
End With
%>

3 个答案:

答案 0 :(得分:0)

请尝试在应用程序的附加应用程序池中增加超时时间。

答案 1 :(得分:0)

lcResult的内容应该是什么?

在代码中放置几个​​response.write和response.end,以尝试查找超时发生的位置。

答案 2 :(得分:0)

我建议将输出调试字符串添加到COM模块。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa363362%28v=vs.85%29.aspx

您可以使用调试器或DebugView查看它们(http://technet.microsoft.com/en-us/sysinternals/bb896647)

我还将输出调试字符串包装为COM模块,以便在ASP中使用它。