msxml3.dll ошибка "80072ee2" на странице ASP - мы используем другой пул приложений
Есть много вопросов, которые задают об ошибке 80072ee2 "Тайм-аут операции" в msxml3.dll, но большинство из них решаются путем перемещения запрошенного URL-адреса в другой пул приложений. Но мы уже делаем это и все еще получаем эту ошибку на полурегулярной основе.
Мы работаем на сервере Windows 2008 и IIS7.5 - веб-сайт Classic 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 ошибок на сайте.
У кого-нибудь есть какие-либо идеи (пожалуйста, не предлагайте переписывать Classic ASP или PHP - в настоящее время это невозможно)?
Спасибо
2 ответа
Ваш код выглядит абсолютно нормально. Хотя вы можете попробовать две вещи.
Первая попытка
Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
Это может не иметь никакого значения, но вы msxml6.dll - который присутствует на IIS7 - а не старый msxml3.dll
Во-вторых, если у вас есть доступ к удаленному рабочему столу, посмотрите, что происходит, когда вы пытаетесь получить доступ к http://www.mysite.co.uk/_search/search.php из собственной копии IE на сервере. Я сталкивался с ситуациями, когда вы не видите сайт, на котором сервер размещается через внешний URL, и вам приходится использовать localhost или 127.0.0.1
Я решил эту проблему, создав новый сайт с тем же физическим именем домена и т. Д., Но с другим номером порта (например, 81). Xmlhttp.open "GET", " http://www.mysite.co.uk:81/_search/search.php", false