Server.MapPath внутри обработчика Application_End в Global.asax

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

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

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

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

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

2 ответа

Решение

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

  1. Request.MapPath ("")
  2. Request.PhysicalApplicationPath
  3. HttpRuntime.AppDomainAppPath

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

Так должно быть HttpRuntime.AppDomainAppPath только в том случае, если две другие опции будут нулевыми в обработчике Application_End.

Другие вопросы по тегам