Solución:
En realidad, no es necesario utilizar global.asax. Puedes crear una clase que exponga tus objetos como static
s. Esta es probablemente la forma más sencilla
public static class GlobalVariables {
public static int GlobalCounter { get; set; }
}
También puede usar el estado de la aplicación o incluso la caché de ASP.NET porque se comparten en todas las sesiones.
Sin embargo, si estuviera en esta situación, usaría un marco como Spring.NET para administrar todas mis instancias de Sington.
Aquí hay un ejemplo rápido de cómo llegaría a las instancias de su clase usando Spring.NET
//The context object holds references to all of your objects
//You can wrap this up in a helper method
IApplicationContext ctx = ContextRegistry.GetContext();
//Get a global object from the context. The context knows about "MyGlobal"
//through a configuration file
var global = (MyClass)ctx.GetObject("MyGloblal");
//in a different page you can access the instance the same way
//as long as you have specified Singleton in your configuration
Pero realmente, la pregunta más importante aquí es ¿por qué necesita usar variables globales? Supongo que realmente no los necesita y podría haber una mejor solución para usted.
Le recomiendo que use el estado de la aplicación para este propósito.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)