Как я могу использовать сервер.MapPath () из global.асакс?

мне нужно использовать Server.MapPath() для объединения некоторых файлов путь, который я храню в web.config.

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

операция сервера недоступна в этом контексте.

есть ли другой метод, который может сопоставлять относительный каталог веб-корня, такой как ~/App_Data/ полный физический путь, такой как C:\inetpub\wwwroot\project\App_data\ ?

4 ответов


можно попробовать


использовать AppDomain.CurrentDomain.BaseDirectory, потому что Context может возвращать null !!


когда в мировой.asax, используйте контекст


вы можете попробовать HttpContext.Текущий.Сервер.MapPath ("/ " ) - вот как я ссылался на него раньше в классах.