【问题标题】:Can no longer call ASMX service from Classic ASP after TLS 1.2TLS 1.2 后无法再从 Classic ASP 调用 ASMX 服务
【发布时间】:2018-03-20 18:16:39
【问题描述】:

我们有一个主要是 Webforms 的网站,但仍然包含用 Classic ASP 编写的页面主体,共享一个目录结构。那些经典页面使用 asmx 服务在 asp.net 端提取连接信息。多年来,这一直有效,直到最近我们升级到 TLS 1.2。现在我们在 xmlhttp.send DataToSend 语句中得到以下错误。

msxml3.dll 错误“80072efe” 与服务器的连接异常终止

我的研究表明,这是当它们占用相同的进程或应用程序池时,从另一个 Classic 页面调用一个 Classic 页面的结果。但我正在调用一个 ASP.NET ASMX 服务,它是一个不同的进程和池......对吗?

经典页面重写不足,如何解决?

.NET 框架 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

【问题讨论】:

标签: asp.net asp-classic asmx application-pool


【解决方案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。我们必须将值为 0x00000800 的 DefaultSecureProtocols 添加到 64 位和 32 位 WinHttp 注册表项。支持文章中对此进行了详细说明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2013-03-27
    • 2012-03-16
    相关资源
    最近更新 更多