我必须将旧经典 ASP 站点的一些逻辑转换为 asp.net 项目。我无法理解一些负责发布数据的功能。
这是经典 ASP 中的函数:
<%Function PostHTTP(strURL, strBody, strErrTemplate)
ON ERROR RESUME NEXT
Dim objHTTP, strResult
Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")
If Err.Number <> 0 Then
strResult = Replace(strErrTemplate, "%1", Err.Number)
strResult = Replace(strResult, "%2", Err.Description)
strResult = Replace(strResult, "%3", "Init::" & Err.Source)
Set objHTTP = Nothing
PostHTTP = strstrResult
Exit Function
End If
With objHTTP
.Open "POST", strURL, False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.setTimeouts 30000, 30000, 60000, 240000
.send strBody
If Err.Number <> 0 Then
strResult = Replace(strErrTemplate, "%1", Err.Number)
strResult = Replace(strResult, "%2", Err.Description)
strResult = Replace(strResult, "%3", "Post::" & Err.Source)
Else
strResult = .responseText
End If
End With
' Response.Write "strResult: " & strResult
'Response.End
If Err.Number > 0 Then
strResult = Replace(strErrTemplate, "%1", Err.Number)
strResult = Replace(strResult, "%2", Err.Description)
strResult = Replace(strResult, "%3", Err.Source)
ElseIf Len(strResult) = 0 Then
strResult = Replace(strErrTemplate, "%1", 2000)
strResult = Replace(strResult, "%2", "No response received from remote server.")
strResult = Replace(strResult, "%3", "PostHTTP")
End If
PostHTTP = strResult
Set objHTTP = Nothing
End Function
这在 asp.net 中会是什么样子?
ps:我已经尝试过自己的发布功能,但显然遗漏了一些东西,因为我的不起作用。