Для чего используется папка App_Data в Visual Studio?

При создании нового приложения ASP.NET в Visual Studio несколько файлов и папок создаются автоматически. Одна из этих папок называется App_Data,

Также при публикации сайта, выбрав пункт меню Build->Publish флажок доступен Include files from the App_Data folder,

Прав ли я, если предположить, что файлы, помещенные в этот файл и его подпапки, не будут доступны через Интернет? Например, было бы безопасно поместить в эту папку ресурсы, которые я намерен использовать только кодом приложения?

Какова реальная цель использования App_Data папка?

РЕДАКТИРОВАТЬ:

Спасибо за все ответы. Из полученных ответов меня больше всего интересуют два момента:

  1. App_Data по сути является точкой хранения для файлового хранилища данных
  2. Он не должен быть доступен для просмотра в Интернете и является местом, где веб-приложение может хранить и считывать данные

Будет ли кто-то в состоянии указать, каким образом обеспечивается "недоступность для просмотра через Интернет"? Могу ли я полагаться на этот факт при выполнении стандартного развертывания или мне нужно также проверить некоторые параметры IIS на сервере.

В ситуации, когда у меня есть набор PDF-файлов, которые я хочу, чтобы быть доступным только из приложения. Будет ли папка App_Data подходящим местом для использования, или я должен создать отдельную папку и вручную настроить IIS, чтобы обеспечить ее недоступность через Интернет?

9 ответов

Решение

App_Data - это, по сути, точка хранения для файловых хранилищ данных (в отличие от хранилища базы данных SQL-сервера, например). Некоторые простые сайты используют его для контента, хранящегося, например, в формате XML, обычно там, где плата за хостинг для БД дорогая.

В IIS выделите компьютер, дважды щелкните "Фильтрация запросов", откройте вкладку "Скрытые сегменты". "App_Data" указан там как ограниченная папка. Да, я знаю, что эта тема действительно старая, но это все еще применимо.

Предполагаемое использование App_data - хранение данных приложения для веб-процесса. Он не должен быть доступен для просмотра в Интернете и является местом, где веб-приложение может хранить и считывать данные.

Это место для размещения встроенной базы данных, такой как Sql Server Express, Access или SQLite.

Папка App_Data - это папка, в которой ваш рабочий процесс asp.net также имеет права на файловые системы, но не публикуется через веб-сервер.

Например, мы используем его для обновления локального CSV формы обратной связи. Если предпочтительный метод электронной почты не удается или требуется какой-либо запрос источника данных, файлы App_Data находятся там.

Это не идеально, но это хороший запасной вариант.

Из документации о структуре папок веб-проекта ASP.NET в MSDN:

Вы можете хранить файлы вашего веб-проекта в любой структуре папок, удобной для вашего приложения. Чтобы упростить работу с вашим приложением, ASP.NET резервирует определенные имена файлов и папок, которые вы можете использовать для определенных типов содержимого.

App_Data содержит файлы данных приложения, включая файлы базы данных.mdf, файлы XML и другие файлы хранилища данных. Папка App_Data используется ASP.NET для хранения локальной базы данных приложения, такой как база данных для поддержки информации о членстве и роли. Для получения дополнительной информации см. Введение в членство и понимание управления ролями.

Мы используем его как временное хранилище для загруженных CSV-файлов. После загрузки метод ajax обрабатывает и удаляет файл.

Основное намерение - сохранить файл (ы) базы данных вашего приложения в.

И нет, это не будет доступно из Интернета по умолчанию.

Назначение для App_Data - хранить файл, связанный с базой данных. Обычно SQL Server Express .mdf файлы.

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