我需要以下asp.net代码的经典asp代码。
asp.net-System.Environment.MachineName
asp.net-使用Server.Mappath
答案 0 :(得分:2)
ASP Server.MapPath不支持在ASP.NET版本的URL开头解析“〜/”。这是我去年发布的代码:
Function UrlContent(sUrl)
If InStr(1, sUrl, "~/") = 1 Then
UrlContent = ApplicationPath & Mid(sUrl, 2)
Else
UrlContent = sUrl
End If
End Function
Function ApplicationPath()
Dim pos: pos = Len(Request.ServerVariables("INSTANCE_META_PATH")) + 6
ApplicationPath = Mid(Request.ServerVariables("APPL_MD_PATH"), pos)
End Function
UriContent
获取传入的URL并解析“〜/”以返回相对于主机网站的URL。因此,与ASP.NET代码等效的MapPath是:
Dim physicalPath : physicalPath = Server.MapPath(UrlContent(virtualPath))
获取计算机名称要困难得多,因为您需要访问Windows API。名为“SERVER_NAME”的服务器变量只是请求中使用的主机名,因此它与实际的Windows机器名称不同。
创建一个允许脚本访问环境的.NET COM Interop dll非常容易。