asp-classic – ASP页面中的msxml3.dll错误“80072ee2”

前端之家收集整理的这篇文章主要介绍了asp-classic – ASP页面中的msxml3.dll错误“80072ee2”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们刚刚转移到一台具有Windows 2008和sql Server 2008的新专用服务器.我正在尝试使用Server.CreateObject(“MSXML2.ServerXMLHTTP”)访问同一服务器上的ASP页面.

在我们之前的2003服务器上,这工作正常,但是对于新的2008服务器,操作只是超时了.

这是代码

strURL = "http://www.storeboard.com/profile/profile_view.asp?MemberID=" & MemberID & "&sid=" & cSession.SessionID
Set oXMLHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
oXMLHttp.open "GET",strURL,false
oXMLHttp.send()
IF oXMLHttp.status = 200 THEN 
  strOut = oXMLHttp.responseText
ELSE
  strOut  = "Could not get XML data."
END IF
Set oXMLHttp = nothing

代码很简单,但是我收到以下错误

msxml3.dll error '80072ee2'

The operation timed out

/handle404.asp,line 291

第291行指的是oXMLHttp.Send()行.

我可以使用替代代码吗?我使用服务器上访问其他服务器上的文件的其他位置的脚本,它们正常工作,但对我们服务器上的文件的任何访问都不起作用.

是否有一种替代方法可以让我在浏览器中保持URL完好无损?此人可以在他们的浏览器中写入URL:http://www.example.com/hello文件不存在,但我有一个404处理程序,然后将用户指向正确的路径,而不更改浏览器URL,这对我们的SEO评级至关重要.

解决方法

Microsoft发布了一篇名为 INFO: Do Not Send ServerXMLHTTP or WinHTTP Requests to the Same Server的知识库文章

If the ServerXMLHTTP or WinHTTP component must send a request to
another ASP on the same server,the target ASP must be located in a
different virtual directory and set to run in high isolation. Avoid
using ServerXMLHTTP or WinHTTP to send a request to an ASP that is
located in the same virtual directory.

A finite number of worker threads (in the Inetinfo.exe or Dllhost.exe
process) is available to execute ASP pages. If all of the ASP worker
threads send HTTP requests back to the same Inetinfo.exe or
Dllhost.exe process on the server from which the requests are sent,
the Inetinfo.exe or Dllhost.exe process may deadlock or stop
responding (hang),because the pool of worker threads to process the
incoming requests will be exhausted. This is by design.

就替代方案而言,它取决于您在收到回复后对回复做了什么.如果脚本的整个目的是将请求转发到profile_view.asp,则可以使用Server.Transfer.

猜你在找的asp.Net相关文章