经典 ASP 例程调用同一服务器上的页面
Classic ASP routine calling a page on same server
我正在将旧的 ASP 应用程序从 Windows Server 2012R2 移动到新的 Windows Server 2016 Standard Edition:
旧服务器有 IIS 8,新服务器使用 IIS 10
此应用程序有一些例程可以对同一服务器上托管的页面进行 MSXML2.ServerXMLHTTP.6.0 调用:
问题是这个例程在旧服务器上有效,但在新服务器上不起作用
我建立这个小例程来做测试
<%
Dim xmlhttp
Dim payload
payload="OID="&Timer*100
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlhttp.setTimeouts 30,500,1000,1000
xmlhttp.Open "GET", "http://sameserver.com/test.asp?"&payload , false
On Error Resume Next
xmlhttp.Send
If Err.Number Then
response.write "ERROR: Could Not Retrieve Remote Server <br> Error Number: "&Err.Number&"<br>Error Description: "&Err.Description
Err.Clear
Else
response.write = "OK: "&xmlhttp.ResponseText
End If
On Error Goto 0
Set xmlhttp = nothing
%>
在旧服务器上有效,但在新服务器上有效 returns
Error Number: -2147012894
Error Description: Operation Timeout
我认为新服务器上有一些 bad/missing 设置,也许在 IIS 设置中,但我也在 PHP 中尝试了一个非常简单的测试,效果很好:
<?php
$timer= new DateTime();
$payload='OID='.$timer->format('Y-m-d%20H:i:s');
$url='http://sameserver.com/test.asp?'.$payload;
echo file_get_contents($url);
?>
很明显,我可以更改这些例程并使用 PHP,但我担心这个错误可能还会造成其他目前未公开的问题
能否提出可能的原因,或者至少必须进行哪些检查?
谢谢
你的答案是here。 Microsoft 建议不要将 ServerXMLHTTP 连接到同一台服务器。可能有其他选择;很难从您发布的代码中判断您要做什么。
我正在将旧的 ASP 应用程序从 Windows Server 2012R2 移动到新的 Windows Server 2016 Standard Edition: 旧服务器有 IIS 8,新服务器使用 IIS 10
此应用程序有一些例程可以对同一服务器上托管的页面进行 MSXML2.ServerXMLHTTP.6.0 调用:
问题是这个例程在旧服务器上有效,但在新服务器上不起作用
我建立这个小例程来做测试
<%
Dim xmlhttp
Dim payload
payload="OID="&Timer*100
Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")
xmlhttp.setTimeouts 30,500,1000,1000
xmlhttp.Open "GET", "http://sameserver.com/test.asp?"&payload , false
On Error Resume Next
xmlhttp.Send
If Err.Number Then
response.write "ERROR: Could Not Retrieve Remote Server <br> Error Number: "&Err.Number&"<br>Error Description: "&Err.Description
Err.Clear
Else
response.write = "OK: "&xmlhttp.ResponseText
End If
On Error Goto 0
Set xmlhttp = nothing
%>
在旧服务器上有效,但在新服务器上有效 returns
Error Number: -2147012894
Error Description: Operation Timeout
我认为新服务器上有一些 bad/missing 设置,也许在 IIS 设置中,但我也在 PHP 中尝试了一个非常简单的测试,效果很好:
<?php
$timer= new DateTime();
$payload='OID='.$timer->format('Y-m-d%20H:i:s');
$url='http://sameserver.com/test.asp?'.$payload;
echo file_get_contents($url);
?>
很明显,我可以更改这些例程并使用 PHP,但我担心这个错误可能还会造成其他目前未公开的问题
能否提出可能的原因,或者至少必须进行哪些检查?
谢谢
你的答案是here。 Microsoft 建议不要将 ServerXMLHTTP 连接到同一台服务器。可能有其他选择;很难从您发布的代码中判断您要做什么。