Доступ к файлу в App_Data из класса в папке App_Code
В ASP.Net есть папка app_data, недоступная для пользователей через Интернет. Я хотел бы сохранить файл в этой папке и прочитать из этого файла с помощью класса, который у меня есть в папке App_Code.
Имейте в виду, что текущий рабочий каталог здесь будет каталогом, таким как "c: \", "c:\windows\system32 \" и т.д., а не каталог приложения. Так что что-то вроде "../App_Data/somefile" не работает.
Должно быть что-то простое, что я упускал из виду, как программно обращаться к файлам в папке App_Datap >
Как я могу это сделать?
Ответы
Ответ 1
Вы можете получить доступ к папке App_Data следующим образом:
string appdatafolder = Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "App_Data");
Я понимаю, что это использует объект HttpContext, однако, если вы пишете этот код внутри пользовательского поставщика членства ASP.NET(что-то, что я делал сам несколько раз), у вас не должно возникнуть проблемы с использованием HttpContext объект.
Ответ 2
Вы говорите, что у вас нет доступа к объекту контекста, но неясно, почему это было бы.
Если ваш код работает в ответ на запрос, вы можете получить доступ к контексту как: -
HttpContext.Current
В противном случае вы можете перейти к корневому физическому пути для приложения, используя: -
HttpRuntime.AppDomainAppPath