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