Sobre el tema de almacenar imágenes temporales y manejar su limpieza en el sistema de archivos de un servidor web: (usando C# en .NET 3.5).Cómo usar y alcance de global.asax (para la limpieza de archivos después de finalizar la aplicación)
Se sugirió que use un archivo global.asax
para manejar esto.
No puedo entender cómo funciona esto.
Tengo dos aplicaciones separadas ...
he dado cuenta de que el global.asax se supone que debe estar en el directorio raíz del sitio web.
Preguntas:
1) ¿Cómo puedo obtener el global.asax
al fuego para sólo estas dos aplicaciones específicas.
2) ambas aplicaciones necesitan crear una lista de cadenas (las ubicaciones de los archivos) y luego eliminarlas en la terminación de la aplicación. ¿Instalo esta matriz en la aplicación o en el global.asax
?
Mi código se verá así:
List<string> fileLocations = new List<string>();
//I don't know where to put this.
//The next line of code will be in both applications (this could
//be called many times in one application session. The names of
//the files are generated from the clock (milliseconds and
//seconds combined, I might change this to use the actual
//random class combined with sessionID)
fileLocations.Add(file);
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
foreach(string file in fileLocations)
{
if(File.Exists(file))
File.Delete(file);
}
}
Estoy confundido acerca de cómo el Global.asax funciona realmente. ¿Se usa como una interfaz?
Entonces, ¿no hay una manera simple de detectar cuando alguien termina de usar una aplicación y ejecutar un script de limpieza? Siento que esto debería ser mucho más fácil de lo que es:/ – Dave
Bueno, si el usuario está conectado, podría usar el evento Session_End también en Global.asax Por defecto son 20 minutos, pero puede establecer su propio límite. Ver http://stackoverflow.com/questions/621744/how-to-handle-session-end-in-global-asax y http://justgeeks.blogspot.com/2008/07/aspnet-session-timeouts.html –
Ah, vale. Entonces, si declaro una Lista en el archivo global.asax, creará una nueva lista para cada sesión de usuario, o declaro la lista en mi programa y de alguna manera el archivo.asax global tiene acceso a ella. Como dije, me disculpo por las preguntas básicas ... Por lo general, soy bastante bueno para descifrar estas cosas por mi cuenta, pero por alguna razón, el archivo.asax no es muy intuitivo para mí. – Dave