【问题标题】:msxml3.dll error '80072ee2' in ASP page - we are using a different Application PoolASP 页面中的 msxml3.dll 错误“80072ee2” - 我们正在使用不同的应用程序池
【发布时间】:2014-01-15 17:10:22
【问题描述】:

有很多关于 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 - 目前不可能)?

谢谢

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 感谢 John - 我们可以从本地框中看到 search.php(如前所述,代码大部分时间都有效),但我们正在尝试“MSXML2.ServerXMLHTTP.6.0”.. . 将在此处发布结果...
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 2021-07-10
      • 2018-07-12
      相关资源
      最近更新 更多