2010-01-30 133 views
12

我使用Request.ApplicationPath學習中,我運行虛擬目錄的名稱。有更可靠的方法嗎?獲取虛擬目錄的名稱?

+3

是什麼讓'Request.ApplicationPath'不可靠? – 2010-01-30 18:44:58

+1

我從來不應該使用「可靠」這個詞。 「清潔工」本來是更好的方法。我想的東西,給我的姓名(或別名)虛擬目錄沒有關於我在開頭的斜線。佩蒂,我知道,但我不介意問這些事情。我爲我可憐的措辭感到抱歉。 – lance 2010-01-30 21:42:16

+1

創建一個實用功能來提供你想要的。當然,使用Request.ApplicationPath開始。 – 2010-02-01 22:28:22

回答

16

Request.ApplicationPath是獲得虛擬目錄的絕對可靠的方式,並且當您擁有HttpContext並且可以請求請求數據時始終可以工作。

用於進一步處理和所述路徑的提取部件,看看在VirtualPathUtility類。

2

您需要使用Request.ApplicationPath。這就是它的設計目的。

編輯去與你的評論。

既然你想要一個「清潔」的方式來處理的斜槓,我建議創建一個返回與它來對付斜線,您認爲合適的邏輯應用程序的路徑效用函數。

0

使用此功能在C#

public static String GetHost() 
{ 
    var request = HttpContext.Current.Request; 
    return request.Url.Scheme + "://" + request.ServerVariables["HTTP_HOST"] + request.ApplicationPath; 
}