我在模型中有以下兩行代碼,但是,虛擬路徑和路徑都具有值「\」。我哪裏錯了?HttpContext只返回「/」
var virtual = VirtualPathUtility.ToAbsolute(HttpContext.Current.Request.ApplicationPath);
var path = HttpContext.Current.Request.ApplicationPath;
我在模型中有以下兩行代碼,但是,虛擬路徑和路徑都具有值「\」。我哪裏錯了?HttpContext只返回「/」
var virtual = VirtualPathUtility.ToAbsolute(HttpContext.Current.Request.ApplicationPath);
var path = HttpContext.Current.Request.ApplicationPath;
從MSDN:
獲取服務器上的ASP.NET應用程序的虛擬應用程序的根路徑。
所以這是URL的路徑的一部分是代碼在運行IIS Web應用程序的根。根URL(「http://domain/」)始終是一個IIS應用程序,這樣會給‘/’作爲其ApplicationPath
。
您可能需要將某個子虛擬文件夾轉換爲IIS應用程序才能看到更長的路徑結果。
從評論更新時間:
我想有一部分 「:/ ...」
此信息所有可用的Request.Uri
的屬性中。特別是「http」是Uri.Scheme
,severname是Uri.Host
和端口是Uri.Port
(但請檢查Uri.IsDefaultPort
以檢查是否需要指定它)。
如何獲取路徑和虛擬路徑? – learning 2010-05-26 09:52:38
@ user28118:在這種情況下,有多種「路徑」的方法,這就是爲什麼'HttpRequest'上有許多與路徑相關的屬性,您可能正在尋找'PhysicalApplicationPath'或'PhysicalPath'。在調試器中查看'HttpContext.Current.Request'的屬性。 – Richard 2010-05-26 09:58:34
可以請告訴我如何使用mvc url構建器/解析器 – learning 2010-05-26 10:00:00