2012-08-09 197 views
2

在我的開發服務器HttpContext.Current.Request.ApplicationPath上正確返回路徑,但在生產時返回空。HttpContext.Current.Request.ApplicationPath在生產時爲空

這是爲什麼?

我使用它來構建URL的,現在在生產環節不工作,因爲它看起來像:

http://section/page1.aspx 

,但它應該是:

https://www.example.sub.com/section/page1.aspx 

什麼引起這個?

+3

我不認爲它應該返回主機名。 [根據MSDN](http://msdn.microsoft.com/en-us/library/system.web.httprequest.applicationpath.aspx),ApplicationPath返回應用程序的虛擬路徑。其中不包括主機。 – Vlad 2012-08-09 18:49:52

+0

@你是對的,奇怪它是如何在我的開發服務器上工作的(它似乎沒有使用虛擬路徑)。 – loyalflow 2012-08-09 18:55:14

回答

3

ApplicationPath屬性返回應用程序所在文件夾的路徑,但不包含域名。

我想你已經把應用程序放在一個與你的開發服務器中的域名同名的文件夾中。該屬性然後返回文件夾的名稱,而不是實際的域名。

0

請試試這個

public static string RootURL { 
get { 
    var _with1 = System.Web.HttpContext.Current.Request; 
    return _with1.Url.Scheme + "://" + _with1.Url.Host + _with1.ApplicationPath; 
} 

}

使用此功能時,你需要根URL與應用程序的路徑
請嘗試,讓我知道,如果你有問題.......