微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/aspnet/251630.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐