ASP页面中的msxml3.dll错误“80072ee2” - 我们正在使用不同的应用程序池

时间:2014-01-15 17:10:23

标签: asp-classic iis-7.5 windows-server-2008-r2 msxml3

有许多问题询问msxml3.dll中的80072ee2“操作超时”错误,但大多数问题都是通过将请求的URL移动到其他应用程序池来解决的。但是,我们已经这样做,并且仍然会半定期地收到此错误。

我们正在运行Windows 2008服务器和IIS7.5 - 该网站是经典ASP,代码是:

set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "GET", "http://www.mysite.co.uk/_search/search.php", false
xmlhttp.send ""
strResponseText = xmlhttp.responseText
set xmlhttp = nothing

文件夹“_search”是一个虚拟文件夹,设置为使用主站点中的单独应用程序池。这是一个忙碌的网站,我们不会在每次调用时都超时...但是一旦你得到一个,通常会有一些连续的。我们知道这种情况正在发生,因为我们在网站上记录了500个错误。

有没有人有任何想法(请不要建议重写经典ASP或PHP - 目前不可能)?

由于

2 个答案:

答案 0 :(得分:1)

您的代码看起来非常好。你可以尝试两件事。

首先尝试

Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")

这可能没有任何区别,但你是msxml6.dll--它存在于IIS7上 - 而不是旧的msxml3.dll

其次,如果您具有远程桌面访问权限,请查看当您尝试从服务器自己的IE副本访问http://www.mysite.co.uk/_search/search.php时会发生什么。我遇到过这样的情况,你无法通过外部URL看到服务器托管自己的网站,你必须使用localhost或127.0.0.1

答案 1 :(得分:0)

我通过创建一个具有相同物理路径域名等但具有不同端口号(如81)的新站点来解决它 xmlhttp.open" GET"," http://www.mysite.co.uk:81/_search/search.php",false