Server.MapPath внутри обработчика Application_End в Global.asax - PullRequest
2 голосов
/ 12 марта 2012

Я хочу сохранить файл, когда мое приложение заканчивается.

Для этого мне нужно получить корневую папку приложения.

Единственный способ, которым я знаю, это использоватьServer.MapPath("~"), но это не работает, даже через HttpContext.Current.Server, поскольку, насколько я понимаю, нет текущего контекста.

Существует ли разумный и простой способ получить этот путь к папке?Будут ли у меня проблемы с правами доступа при попытке создать файл в корневой папке?

Есть альтернативные идеи, как этого добиться?

Ответы [ 2 ]

7 голосов
/ 12 марта 2012

Вы должны использовать HttpRuntime.AppDomainAppPath, который всегда будет работать.

1 голос
/ 12 марта 2012
  1. Request.MapPath ("")
  2. Request.PhysicalApplicationPath
  3. HttpRuntime.AppDomainAppPath

Редактировать

Это должно быть HttpRuntime.AppDomainAppPath только потому, что два других параметра будут иметь значение null в обработчике Application_End.

...