ASP 页中的 msxml3.dll 错误“80072ee2" [英] msxml3.dll error '80072ee2' in ASP Page

查看:30
本文介绍了ASP 页中的 msxml3.dll 错误“80072ee2"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们刚刚搬到了一个新的具有 Windows 2008 和 SQL Server 2008 的专用服务器.我正在尝试使用 Server.CreateObject("MSXML2.ServerXMLHTTP").

We have just moved to a new dedicated server that has Windows 2008 and SQL Server 2008. I am trying to access an ASP page on the same server using Server.CreateObject("MSXML2.ServerXMLHTTP").

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

On our previous 2003 server this worked correctly, however with the new 2008 server the operation just times out.

代码如下:

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

代码很简单,但出现以下错误:

The code is very simple but I get the following error:

msxml3.dll error '80072ee2'

The operation timed out

/handle404.asp, line 291 

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

Line 291 refers to oXMLHttp.Send() line.

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

Is there an alternative code I can use? I use the script other places on the server that access files on other servers and they work correctly, but any access to files on our server doesn't work.

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

Is there an alternative method that will allow me to keep the URL intact in the browser? The person could write the URL in their browser: http://www.example.com/hello the file doesn't exist but I have a 404 handler that then points the user to the correct path without changing the browser URL which is essential for our SEO ratings.

推荐答案

微软发表了一篇题为的知识库文章信息:不要向同一服务器发送 ServerXMLHTTP 或 WinHTTP 请求

如果 ServerXMLHTTP 或 WinHTTP 组件必须向同一服务器上的另一个 ASP,目标 ASP 必须位于不同的虚拟目录并设置为高度隔离运行.避免使用 ServerXMLHTTP 或 WinHTTP 向 ASP 发送请求位于同一虚拟目录中.

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.

...

有限数量的工作线程(在 Inetinfo.exe 或 Dllhost.exe进程)可用于执行 ASP 页.如果所有的 ASP 工作者线程将 HTTP 请求发送回相同的 Inetinfo.exe 或发送请求的服务器上的 Dllhost.exe 进程,Inetinfo.exe 或 Dllhost.exe 进程可能会死锁或停止响应(挂起),因为要处理的工作线程池传入的请求将被耗尽.这是设计使然.

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 代替.

As far as alternatives go, it depends on what you're doing with the response after you receive it. If the entire purpose of the script is to forward the request to profile_view.asp, you might be able to use Server.Transfer instead.

这篇关于ASP 页中的 msxml3.dll 错误“80072ee2"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆