2009-03-12 13 views
7

Estoy eliminando un directorio desde una aplicación ASP.NET. La eliminación va bien, pero cuando regreso de ella, todos los datos de mi sesión desde antes de la eliminación se pierden.
No importa si utilizo:Eliminar el directorio de la aplicación ASP.NET vuelve a la nueva sesión

   if (Directory.Exists(folderPath)) 
        Directory.Delete(folderPath, true); 

O:

   System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(folderPath); 
       if (d.Exists) 
        d.Delete(true); 

En ambos casos de que pierda los datos de sesión.

¿Alguien ha tenido este problema?

Respuesta

10

Si está eliminando un subdirectorio dentro de su aplicación, el dominio de su aplicación se reiniciará. Esto elimina todos los datos de la sesión. Para aliviar este problema, solo agregue/elimine directorios fuera del directorio de inicio de la aplicación.

3

¿Está el directorio dentro de la misma aplicación? Luego, al eliminarlo, se reiniciará AppDomain, lo que provocará la pérdida del estado de la sesión.

+0

El directorio está en un directorio virtual en la aplicación. ¿Hay alguna forma de evitar el reinicio de AppDomain? –

+1

No, no es que yo sepa. Los directorios dentro del sitio web no se deben usar para el almacenamiento. –

1

Sí! Al eliminar un directorio que IIS está sirviendo, provoca un reinicio (o algo así). He tenido este problema, rediseñé la aplicación para no eliminar directorios.

Lástima en el -1 por la pregunta, este es un problema real. +1 para alguien con una solución.

Cuestiones relacionadas