Al crear una nueva aplicación ASP.NET en Visual Studio, se crean automáticamente un par de archivos y carpetas. Se llama una de esas carpetas App_Data
.
Además, al publicar un sitio web seleccionando la opción de menú, hay Build->Publish
una casilla de verificación disponible Include files from the App_Data folder
.
¿Estoy en lo cierto al suponer que los archivos incluidos en este archivo y sus subcarpetas no serán accesibles a través de la web? Por ejemplo, ¿sería seguro poner en esa carpeta los recursos que solo pretendo que el código de la aplicación use?
¿Cuál es el uso real previsto de la App_Data
carpeta?
EDITAR:
Gracias por todas las respuestas. De las respuestas recibidas hasta ahora, estoy interesado principalmente en dos puntos mencionados:
- App_Data es esencialmente un punto de almacenamiento para el almacenamiento de datos basado en archivos
- No debe ser visible por la web y es un lugar para que la aplicación web almacene y lea datos de
¿Alguien podría especificar cómo se garantiza el "no visible por la web"? ¿Puedo confiar en ese hecho al realizar una implementación estándar o debo verificar también algunas configuraciones de IIS en el servidor?
En la situación en la que tengo un conjunto de archivos pdf a los que quiero acceder solo desde la aplicación. ¿Sería la carpeta App_Data el lugar adecuado para usar, o debería crear una carpeta separada y configurar manualmente IIS para asegurar que la Web no pueda acceder?
en IIS, resalte la máquina, haga doble clic en "Solicitar filtrado", abra la pestaña "Segmentos ocultos". "App_Data" aparece allí como una carpeta restringida. Sí, sé que este hilo es muy antiguo, pero aún es aplicable.
fuente
El uso previsto de App_data es almacenar los datos de la aplicación para que el proceso web acceda. No debe ser visible por la web y es un lugar para que la aplicación web almacene y lea datos.
fuente
Es un lugar para colocar una base de datos incrustada, como Sql Server Express, Access o SQLite.
fuente
La carpeta App_Data es una carpeta, que su proceso de trabajo asp.net también tiene derechos de sistema de archivos, pero no se publica a través del servidor web.
Por ejemplo, lo usamos para actualizar un CSV local de un formulario de contacto . Si el método preferido de los correos electrónicos falla o se requiere una consulta de la fuente de datos, los archivos App_Data están allí.
No es ideal, pero es una buena alternativa.
fuente
De la documentación sobre la estructura de carpetas del proyecto web ASP.NET en MSDN:
fuente
La intención principal es mantener los archivos de la base de datos de su aplicación.
Y no, esto no será accesible desde la web de forma predeterminada.
fuente
Lo usamos como un área de almacenamiento temporal para archivos csv cargados. Una vez cargado, un método ajax procesa y elimina el archivo.
fuente
El uso previsto para App_Data es almacenar el archivo relacionado con la base de datos. Por lo general, los archivos .mdf de SQL Server Express.
fuente