5

現在、次のコードを使用しています。

<center>Application Name: <%=HostingEnvironment.ApplicationID %></center>

どの出力:

Application Name: /LM/W3SVC/1/Root/AppName

「AppName」は私が望む値であり、残りのパスを削除するために文字列マジックを実行する必要なく、単純にそれを返す別のメソッドがあるかどうか疑問に思っています。

ありがとう!

4

3 に答える 3

1

このルーチンを使用して、完全修飾アプリケーションパスを取得できます。context.Request.ApplicationPathにはアプリケーション名が含まれます

    /// <summary>
    /// Return full path of the IIS application
    /// </summary>
    public string FullyQualifiedApplicationPath
    {
        get
        {
            //Getting the current context of HTTP request
            var context = HttpContext.Current;

            //Checking the current context content
            if (context == null) return null;

            //Formatting the fully qualified website url/name
            var appPath = string.Format("{0}://{1}{2}{3}",
                                        context.Request.Url.Scheme,
                                        context.Request.Url.Host,
                                        context.Request.Url.Port == 80
                                            ? string.Empty
                                            : ":" + context.Request.Url.Port,
                                        context.Request.ApplicationPath);

            if (!appPath.EndsWith("/"))
                appPath += "/";

            return appPath;
        }
    }
于 2012-06-28T18:45:02.147 に答える