2011-10-13 23 views

回答

2

如果你正在主持在IIS7集成管道HttpContext的應用程序對象不在Application_Start可用。對於你的情況,你可以這樣做:

string relativeFilePath = "~/" + AbsoluteFilePath 
    .Replace(HostingEnvironment.ApplicationPhysicalPath, String.Empty) 
    .Replace("\\", "/"); 
0

在IIS7或更高版本中,引入了集成管道,並且更改了一些規則。您無法訪問Application_Start中的當前HttpContext。 Here's更多信息。

引用,這裏是你的選擇:

那麼,這是什麼意思嗎?

基本上,如果你碰巧訪問在 的Application_Start請求上下文,你有兩個選擇:

更改應用程序代碼不使用請求上下文 (推薦)。 將應用程序移至經典模式(不推薦)。

由於您剛剛獲得應用程序的物理路徑,因此我堅持使用集成模式並更改您的代碼。

相關問題