爲什麼下面的線有錯誤Global.asax中:請求是不是在這種情況下可用 - >在Global.asax中 - >什麼是替代
string RelativeFilePath = "~/" + (AbsoluteFilePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty)).Replace("\\", "/");
錯誤:
請求不在這方面可用
什麼是替代?
在此先感謝
爲什麼下面的線有錯誤Global.asax中:請求是不是在這種情況下可用 - >在Global.asax中 - >什麼是替代
string RelativeFilePath = "~/" + (AbsoluteFilePath.Replace(Request.ServerVariables["APPL_PHYSICAL_PATH"], String.Empty)).Replace("\\", "/");
錯誤:
請求不在這方面可用
什麼是替代?
在此先感謝
如果你正在主持在IIS7集成管道HttpContext的應用程序對象不在Application_Start
可用。對於你的情況,你可以這樣做:
string relativeFilePath = "~/" + AbsoluteFilePath
.Replace(HostingEnvironment.ApplicationPhysicalPath, String.Empty)
.Replace("\\", "/");
在IIS7或更高版本中,引入了集成管道,並且更改了一些規則。您無法訪問Application_Start中的當前HttpContext。 Here's更多信息。
引用,這裏是你的選擇:
那麼,這是什麼意思嗎?
基本上,如果你碰巧訪問在 的Application_Start請求上下文,你有兩個選擇:
更改應用程序代碼不使用請求上下文 (推薦)。 將應用程序移至經典模式(不推薦)。
由於您剛剛獲得應用程序的物理路徑,因此我堅持使用集成模式並更改您的代碼。