有许多问题询问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 - 目前不可能)?
由于
答案 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