我们有一个主要是Webforms的网站,但仍然包含用Classic ASP编写的一组页面,共享一个目录结构。这些经典页面使用asp.net端的asmx服务来提取连接信息。这项工作已经适用多年,直到最近我们升级到TLS 1.2。现在我们在 xmlhttp.send DataToSend 语句中收到以下错误。
msxml3.dll错误' 80072efe' 与服务器的连接异常终止
我的研究表明,这是在占用相同进程或应用程序池时从另一个Classic页面调用一个Classic页面的结果。但我正在调用一个ASP.NET ASMX服务,这是一个不同的进程和池......对吗?
如果不重写经典页面,我该如何解决这个问题呢?
.NET Framework 4.5.2
IIS 7.5.7600.16385
Windows Server 2008 R2
Dim xmlhttp
Dim DataToSend
DataToSend="OrigId=XXXXX&OrigPassword=YYYYYY&ConnectionName=" & pConnectionName
Dim postUrl
postUrl = "https://" & Request.ServerVariables("server_name") & "/SSLWebServices/ConnectionLookUp.asmx/GetConnectionData"
Set xmlhttp = server.Createobject("MSXML2.serverXMLHTTP")
xmlhttp.setOption 2,13056
xmlhttp.Open "POST",postUrl,false
xmlhttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
xmlhttp.send DataToSend
dim strResponse
strResponse = xmlhttp.responseText
答案 0 :(得分:1)
答案是 https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in。我们必须为64位和32位WinHttp注册表项添加值为0x00000800的DefaultSecureProtocols。它在支持文章中都有详细说明。