Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic msxml3.dll错误';80072ee2';在ASP页面中_Asp Classic_Serverxmlhttp - Fatal编程技术网

Asp classic msxml3.dll错误';80072ee2';在ASP页面中

Asp classic msxml3.dll错误';80072ee2';在ASP页面中,asp-classic,serverxmlhttp,Asp Classic,Serverxmlhttp,我们刚刚转移到一个新的专用服务器,它有Windows 2008和SQL server 2008。我正在尝试使用server.CreateObject(“MSXML2.ServerXMLHTTP”)访问同一服务器上的ASP页面 在我们以前的2003年服务器上,该操作正常运行,但在新的2008年服务器上,该操作刚好超时 代码如下: strURL=”http://www.storeboard.com/profile/profile_view.asp?MemberID=“&MemberID&”&sid=

我们刚刚转移到一个新的专用服务器,它有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”
设置oXMLHttp=Server.CreateObject(“MSXML2.ServerXMLHTTP”)
oXMLHttp.open“GET”,strURL,false
oXMLHttp.send()
如果oXMLHttp.status=200,则
strOut=oXMLHttp.responseText
其他的
strOut=“无法获取XML数据。”
如果结束
设置oXMLHttp=nothing
代码非常简单,但我得到以下错误:

msxml3.dll错误“80072ee2”
操作超时
/handle404.asp,第291行
第291行引用oXMLHttp.Send()行

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


有没有其他方法可以让我在浏览器中保持URL的完整性?用户可以在他们的浏览器中写入URL:该文件不存在,但我有一个404处理程序,可以在不更改浏览器URL的情况下将用户指向正确的路径,这对我们的SEO评级至关重要。

msxml3.dll非常旧。它是用InternetExplorer6发布的,让您大致了解一下

你能让人在服务器上安装更高版本吗

提供要发送给服务器负责人的版本列表

如果问题真正归结为超时,您可以考虑关闭ASP缓冲。(这完全是基于这样一种猜测,即如果服务器对象开始接收响应,它将在超时前端延迟

或者,您可以尝试在客户端处理该值,下面是我编写的一些代码中的函数,它可以实现这一点

function getDets(RateID) {
    var xmlHttp;
    try {
        xmlHttp=new XMLHttpRequest();    // Firefox, Opera 8.0+, Safari
    }
    catch (e) {
        try {
        // Internet Explorer
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4) {
        var str;
        var newStr;
        str=xmlHttp.responseText
        newStr=str.split("|");
        window.document.all.OR2.style.display="block";
        window.document.all.OR3.style.display="block";    
        window.document.OvertimeRates.Description.value=newStr[0];
        window.document.OvertimeRates.Factor.value=newStr[1];
        }
    }
    if (RateID==0) {
        window.document.OvertimeRates.Description.value="";
        window.document.OvertimeRates.Factor.value="";
    }
    else {
        xmlHttp.open("GET","GetOvertimeRate.asp?RateID="+RateID,true);
        xmlHttp.send(null);
    }
}

祝你好运!

微软发表了一篇题为

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

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


就备选方案而言,这取决于您在收到响应后对响应所做的操作。如果脚本的全部目的是将请求转发到profile_view.asp,则您可以改用它。

我也有同样的问题。在我的情况下,我尝试发出的web请求是一个内部网站url(在同一应用程序池中)。当服务器端调试设置为“已启用”时,asp应用程序池似乎仅限于单个工作线程。通过禁用此功能,可以处理请求