Вопрос

При создании нового приложения 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, чтобы гарантировать, что она не будет доступна через Интернет?

Это было полезно?

Решение

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 оставляет определенные имена файлов и папок, которые вы можете использовать для определенных типов контента.

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

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

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

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

Предполагаемое использование App_Data — хранение файла, связанного с базой данных.Обычно файлы SQL Server Express .mdf.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top