Como se señala en otra respuesta, esto se debe a que la aplicación web se reinicia cada vez que elimina una carpeta dentro de la estructura de directorios de la aplicación web (es decir, debajo del directorio raíz de la aplicación web).
La única solución que encontré para este problema es mover los directorios de datos (que usted crea/elimina/modifica) fuera del directorio raíz/directorio virtual de la aplicación web.
Luego creamos un enlace (unión) en el sistema de archivos para que el directorio parezca estar dentro del directorio virtual. Esto evita que ASP.NET supervise el directorio de datos para operaciones de eliminación.
Ejemplo:
- Nuestro sitio web (directorio virtual) se encuentra en
C:\projectX\website
- el directorio de datos (donde creamos/borrar archivos y carpetas) se encuentra en
C:\projectX\data
- entonces se crea una enlace que hace que la carpeta de datos esté disponible como
C:\projectX\website\data
El enlace se crea utilizando el programa Linkd.exe
(disponible en el kit de recursos de Windows), con el siguiente comando:
linkd c:\projectX\website\data c:\projectX\data
Ahora C:\projectX\website\data
es un enlace/unión que apunta al directorio de datos real. Dentro de su aplicación web, puede continuar trabajando como si el directorio de datos fuera un directorio físico debajo del directorio raíz de la aplicación web.
E.g.en su sitio web se puede acceder a la carpeta de datos utilizando este código:
Server.MapPath("~/data")
Y también se puede utiliza el explorador de archivos de Windows y vaya a C: \ Projectx \ web \ data. Parece como un directorio real.
Como puede ver, puede seguir utilizando la carpeta de datos vinculada como si fuera una carpeta normal dentro del directorio de la aplicación web. La única diferencia es que ASP.NET no realizará un seguimiento del directorio para las operaciones de eliminación y, por lo tanto, no reiniciará la aplicación. Esto significa que ahora puede crear/eliminar/modificar carpetas y archivos dentro del directorio ~/data
como lo desee, sin tener que reiniciar la aplicación web.
Realmente no entiendo su pregunta. ¿Puedes reformular esa última oración? –