2010-05-26 114 views
0

我在模型中有以下兩行代碼,但是,虛擬路徑和路徑都具有值「\」。我哪裏錯了?HttpContext只返回「/」

var virtual = VirtualPathUtility.ToAbsolute(HttpContext.Current.Request.ApplicationPath);

var path = HttpContext.Current.Request.ApplicationPath;

回答

1

MSDN

獲取服務器上的ASP.NET應用程序的虛擬應用程序的根路徑。

所以這是URL的路徑的一部分是代碼在運行IIS Web應用程序的根。根URL(「http://domain/」)始終是一個IIS應用程序,這樣會給‘/’作爲其ApplicationPath

您可能需要將某個子虛擬文件夾轉換爲IIS應用程序才能看到更長的路徑結果。

從評論更新時間:

我想有一部分 「:/ ...」

此信息所有可用的Request.Uri的屬性中。特別是「http」是Uri.Scheme,severnameUri.Host和端口是Uri.Port(但請檢查Uri.IsDefaultPort以檢查是否需要指定它)。

+0

如何獲取路徑和虛擬路徑? – learning 2010-05-26 09:52:38

+0

@ user28118:在這種情況下,有多種「路徑」的方法,這就是爲什麼'HttpRequest'上有許多與路徑相關的屬性,您可能正在尋找'PhysicalApplicationPath'或'PhysicalPath'。在調試器中查看'HttpContext.Current.Request'的屬性。 – Richard 2010-05-26 09:58:34

+0

可以請告訴我如何使用mvc url構建器/解析器 – learning 2010-05-26 10:00:00