相同的服务器,获取url:vbscript msxml3.dll 80004005未指定的错误,或msxml6.dll错误'80072ee6'系统错误:-2147012890

问题描述:

获取位于同一服务器上的asp页面输出的正确方法是什么?相同的服务器,获取url:vbscript msxml3.dll 80004005未指定的错误,或msxml6.dll错误'80072ee6'系统错误:-2147012890

<% 

GetUrl "/route/to/abc/123/" 

Function GetUrl(url) 
    Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP.3.0") 
    objXMLHTTP.open "GET", URL, false 
    objXMLHTTP.send() 
    If objXMLHTTP.Status = 200 Then 
     Response.Write objXMLHTTP.ResponseText 
    End if 
    Set objXMLHTTP = Nothing 
End Function 

%> 

导致这个麻烦的错误。

msxml3.dll error '80004005' 
Unspecified error 
/test.asp, line 7 

切换到一个新的ServerXMLHTTP

set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0") 

透着不同的,更有意义的错误:

msxml6.dll error '80072ee6' 
System error: -2147012890. 
/test.asp, line 8 

其中谷歌快乐地找到了一个理由,它说“不要使用serverXmlHttp连接到同一台服务器。(https://support.microsoft.com/en-us/kb/316451)你用什么?文章没有太多提供。

无论如何,酷,有一个适当的原因,我的错误。但是,在传统的asp下,你用什么来连接到同一台服务器来捕获页面的输出?这篇文章(https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/aa23d158-000a-4ba2-8fe8-99895854d7f0.mspx?mfr=true)提到,如果我在做隔离模式,那么这个过程独立运行到Web服务器进程,并且我不能使用SSI,我无法弄清楚如何首先启用它。无论如何这听起来很讨厌。在我的应用程序中,SSI是严重,所以我不能考虑它。

我留下了什么(除了显而易见的:沟ASP)?产生一个wscript.shell命令提示符,并从那里拉回来,回显到标准输出?从另一个反射器服务器反弹? Grr

+0

由于您完全有30天的时间才能支持Windows Server 2003(和IIS 6),所以我现在应该将您的主要关注点迁移到IIS 7+。 –

您无法从网站请求运行于之下的网页,该网页应用程序池为

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.

If a single recursive request causes IIS to deadlock, the typical cause is that ASP script debugging is enabled.

解决方法:创建新文件夹,将脚本放入此文件夹中。之后,在IIS中创建新的应用程序池,并为此文件夹创建新的应用程序。

如何为某些文件夹中创建新的应用程序: enter image description here

样品时,文件夹分配给新的应用程序池: enter image description here

注意:不要试图第三部分DLL的来自同一应用程序下载的网页池。结果将是相同的。测试了一些免费的http组件。

+0

把脚本放到一个新的文件夹中需要在我的路由和视图中进行一些工程工作,但是,嘿,这比把wget的输出从命令行下拉出来更好一些......干杯:)(ms文档正在做我的头,谷歌建议的所有其他“修复”) – frumbert