Al crear una nueva aplicación ASP.NET en Visual Studio, se crean un par de archivos y carpetas automáticamente. Una de esas carpetas se llama App_Data
.¿Para qué se utiliza la carpeta App_Data en Visual Studio?
También al publicar un sitio web al seleccionar la opción de menú Build->Publish
, se encuentra disponible una casilla de verificación Include files from the App_Data folder
.
¿Estoy en lo cierto al suponer que los archivos puestos 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 use el código de la aplicación?
¿Cuál es el uso real previsto de la carpeta App_Data
?
EDIT:
Gracias por todas las respuestas. De las respuestas recibidas hasta ahora Estoy interesado principalmente en dos puntos mencionados:
- App_Data is essentially a storage point for file-based data store
- It should not be viewable by the web and is a place for the web app to store and read data from
qué alguien ser capaz de especificar cómo "no visible para usuarios de la web" se garantiza el? ¿Puedo confiar en ese hecho cuando realizo la implementación estándar o también debo verificar algunas configuraciones de IIS en el servidor?
En la situación en que tengo un conjunto de archivos pdf, quiero que solo se pueda acceder desde la aplicación. ¿Sería la carpeta App_Data el lugar correcto para usar, o debería crear una carpeta separada y configurar IIS manualmente para asegurarme de que no sea accesible por la Web?
Gracias annakata por esta respuesta. Creo que el punto importante para agregar es que el contenido de App_Data no puede ser visto por la web como lo menciona JaredPar. y también como comentó "este comportamiento se puede modificar desde * .config httphandlers" – padn
¿La carpeta app_data contiene las referencias a los servicios web locales? Mi aplicación web funciona bien en .net F5 ejecutar. Pero los servicios web no funcionan después del empaquetado y la implementación en ISS ... :( – bonCodigo
También esta carpeta se utiliza para almacenar archivos de una base de datos local. –