En una pequeña aplicación de demostración que estoy construyendo pongo código para inicializar la base de datos en el evento Global.Session_Start(). Sin embargo, veo que este evento no se dispara cuando estoy ejecutando la aplicación en el depurador en el servidor de desarrollo (aún no lo he probado en ningún otro lado).¿Qué causa realmente que se llame a Session_Start?
Pregunta 1: ¿Qué ocurre? ¿Cuándo se llama realmente a Session_Start()? Supongo que es cuando comienza la sesión, pero ¿no debería el comienzo de cada nueva secuencia de solicitudes provocar que una sesión se inicie automáticamente? Ciertamente, una sesión debería comenzar cada vez que corro con F5, ¿por qué no?
Pregunta 2: ¿Hay algún lugar mejor donde debería ir el código para inicializar la base de datos? Preferiría no ponerlo en el método Application_Start, ya que no siempre se llama cuando se depura.
PS. Al inicializar la base de datos no quiero decir que abro una conexión a SqlServer y la dejo abierta para siempre. Estoy usando db4o y abro un archivo de base de datos preconstruido. Como dije, esto es solo una aplicación de demostración, no me preocupa la mala gestión de los recursos ni nada de eso.
¿Podría profundizar en "inicializar la base de datos"? – HardCode
Elaborado. Básicamente le estoy diciendo a Db4o que use un archivo particular para los datos de dibujo –
Doble publicación accidental. Eliminado el otro, este tiene más información. –