2012-03-12 44 views
2

我想在應用程序結束時保存文件。Global.asax中的Application_End處理程序中的Server.MapPath

爲此,我需要獲取應用程序的根文件夾。

我知道這樣做的唯一方法是使用Server.MapPath("~"),但這不起作用,即使通過HttpContext.Current.Server,因爲目前沒有上下文,據我瞭解。

是否有一個巧妙的&獲取該文件夾路徑的簡單方法? 我有權限問題,試圖在根文件夾中創建一個文件?

任何替代想法如何實現?

回答

7

您應該使用HttpRuntime.AppDomainAppPath,這將始終工作。

+0

工作!謝謝!! – 2012-03-12 17:59:08

1
  1. Request.MapPath( 「」)
  2. Request.PhysicalApplicationPath
  3. HttpRuntime.AppDomainAppPath

編輯

應當HttpRuntime.AppDomainAppPath僅作爲其他兩個選項將在App中爲空lication_End處理程序。

+0

沒有要求。 – SLaks 2012-03-12 18:00:07

+0

它在那裏。我正在使用VS 2010. Web應用程序。在Application_End處理函數下的Global.asax.cs文件中,你可以輸入上面提到的代碼...對嗎? – Pankaj 2012-03-12 18:18:07

+0

是的,但它將是'null'。這就是他首先提出這個問題的原因。 – SLaks 2012-03-12 18:20:17