2

次のasp.netコードの古典的なaspコードが必要です。

asp.net-System.Environment.MachineName

asp.net-Server.MapPath

4

1 に答える 1

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 を受け取り、「~/」を解決して、ホスト Web サイトに関連する URL を返します。したがって、ASP.NETs コードに相当する MapPath は次のとおりです。

Dim physicalPath : physicalPath = Server.MapPath(UrlContent(virtualPath))

Windows API へのアクセスが必要なため、マシン名を取得するのは非常に困難です。「SERVER_NAME」と呼ばれるサーバー変数は、単にリクエストで使用されるホスト名であるため、実際の Windows マシン名とは異なります。

スクリプトが環境にアクセスできるようにする .NET COM Interop dll を作成するのは、適度に簡単です。

于 2012-08-02T14:00:31.537 に答える