Server.MapPath внутри обработчика Application_End в Global.asax
-
12-12-2019 - |
Вопрос
Я хочу сохранить файл, когда мое приложение завершится.
Для этого мне нужно получить корневую папку приложения.
Единственный известный мне способ сделать это - использовать Server.MapPath("~")
, но это не работает, даже через HttpContext.Current.Server
потому что, насколько я понимаю, текущего контекста нет.
Есть ли умный и простой способ получить путь к этой папке?Будут ли у меня проблемы с разрешениями при попытке создать файл в корневой папке?
Есть альтернативные идеи, как это сделать?
Решение
Вы должны использовать HttpRuntime.AppDomainAppPath
, который всегда будет работать.
Другие советы
- Запрос.MapPath("")
- Request.PhysicalApplicationPath
- HttpRuntime.AppDomainAppPath
Редактировать
Должен быть HttpRuntime.AppDomainAppPath
только поскольку два других параметра в обработчике Application_End будут иметь значение null.