Saltar al contenido

Cómo definir una variable global en la aplicación web ASP.net

Posterior a observar en varios repositorios y páginas de internet al final hemos dado con la respuesta que te enseñaremos a continuación.

Solución:

Otra opción para definir una variable global es creando una static clase con un static propiedad:

public static class GlobalVariables

    public static string MyGlobalVariable  get; set; 

Puede hacer esto más complejo si va a usarlo como un almacén de datos, pero se aplica la misma idea. Digamos que tiene un diccionario para almacenar sus datos globales, podría hacer algo como esto:

public static class GlobalData

    private static readonly object _syncRoot = new object();
    private static Dictionary _data;

    public static int GetItemsByTag(string tag)
    
        lock (_syncRoot)
        
            if (_data == null)
                _data = LoadItemsByTag();

            return _data[tag];
        
    

    private static Dictionary LoadItemsByTag()
    
        var result = new Dictionary();

        // Load the data from e.g. an XML file into the result object.

        return result;
    

Para compartir los datos con todos los usuarios de la aplicación, puede usar el objeto de aplicación ASP.NET. Dado es el código de muestra para acceder al objeto de la aplicación en ASP.NET:

Hashtable htblGlobalValues = null;

if (Application["GlobalValueKey"] != null)

    htblGlobalValues = Application["GlobalValueKey"] as Hashtable;

else

    htblGlobalValues = new Hashtable();


htblGlobalValues.Add("Key1", "Value1");
htblGlobalValues.Add("Key2", "Value2");

this.Application["GlobalValueKey"] = htblGlobalValues;

Application["GlobalValueKey"] puede ser utilizado en cualquier parte de la aplicación por cualquier usuario. Será común para todos los usuarios de la aplicación.

Puede introducir datos en el Application objetar si quieres. No es persistente entre las instancias de la aplicación, pero eso puede ser suficiente.

(No voy a sugerir por un minuto que esta es una mejor práctica, pero sin una imagen más clara de los requisitos, eso es todo lo que puedo sugerir).

http://msdn.microsoft.com/en-us/library/system.web.ui.page.application.aspx
http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx

Si conservas alguna desconfianza o forma de aumentar nuestro crónica puedes añadir un paráfrasis y con placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *