Foros del Web » Programación para mayores de 30 ;) » .NET »

Se pueden crear variables en el global

Estas en el tema de Se pueden crear variables en el global en el foro de .NET en Foros del Web. necesito crear una variable que sea comun a toda la aplicacion y que pueda acceder a ella, en cualquier momento. He probado con statics pero ...
  #1 (permalink)  
Antiguo 27/07/2005, 06:42
 
Fecha de Ingreso: abril-2005
Mensajes: 195
Antigüedad: 19 años
Puntos: 0
Se pueden crear variables en el global

necesito crear una variable que sea comun a toda la aplicacion y que pueda acceder a ella, en cualquier momento. He probado con statics pero si recargas la pagina la vuelve a crear y no me vale. He pensado en ponerla en Global, pero como accedo a ella despues??
Alguien me puede ayudar o dar alguna idea??
  #2 (permalink)  
Antiguo 27/07/2005, 07:25
Avatar de charlytesis  
Fecha de Ingreso: agosto-2003
Ubicación: La Paz - Bolivia
Mensajes: 207
Antigüedad: 20 años, 8 meses
Puntos: 1
prueba con el view state, exactamente no se como se lo usa, pero puedes llegar a tener tus variables en toda tu pagina
__________________

Saludos desde el corazón de América.....BOLIVIA
Da lo mejor de ti, que siempre será recompensado


  #3 (permalink)  
Antiguo 27/07/2005, 07:25
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Application("nombredevariable")

o en el web.config agregar una key en el appsettings
  #4 (permalink)  
Antiguo 27/07/2005, 07:26
 
Fecha de Ingreso: mayo-2005
Mensajes: 122
Antigüedad: 19 años
Puntos: 0
Respuesta ...

Esa variable va a tener siempre el mismo valor?
  #5 (permalink)  
Antiguo 27/07/2005, 07:29
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
La variable de aplicacion guarda el valor para todo el mundo que la use, y deberías crearla en el application_start, al igual que en el web.config.

Las variables de session guardan su estado mientras dure la conexion del usuario (para cada usuario un valor)

y el viewstate mientras dure la conexión con la página en la que se crea.
  #6 (permalink)  
Antiguo 27/07/2005, 07:30
 
Fecha de Ingreso: abril-2005
Mensajes: 195
Antigüedad: 19 años
Puntos: 0
Gracias, te voy ha hacer caso Jose_minglein2...
Jmcc, no puedes modificarlo. Creo Application se maneja asi:
Application.Add("nombre",objeto) --> Para crear el objeto
Application["nombre"] --> Acceder
Si quieres cambiar el valor puedes hacer:
Application.Add("nombre",null)
Application.Add("nombre",objeto)

Vamos, que alguien me corrija.... pero creo que funciona asi
  #7 (permalink)  
Antiguo 27/07/2005, 08:16
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Creo que la de los corchetes [] no va bien, aunque no estoy seguro...

Pero miren:

Application("miVar")="HOLA" --> Si no existe la crea, y si ya existe la modifica.
miVar = Application("miVar") --> Así se lee la variable.

Yo la uso así.. y me va siempre bien.
__________________
..:: moNTeZIon ::..
  #8 (permalink)  
Antiguo 27/07/2005, 08:30
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
para VB con () para c# []

Por cierto,ahi que tener mucho cuidado en modificar variables de aplicacion.

Un saludo
  #9 (permalink)  
Antiguo 27/07/2005, 08:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 122
Antigüedad: 19 años
Puntos: 0
Respuesta

Si añades un módulo a tu proyecto y declaras una variable tal que así:

Module Variables_Publicas

Public Path As String = "c:\directorio"

End Module

Esta variable será visible para todo el proyecto en cualquier momento
  #10 (permalink)  
Antiguo 27/07/2005, 08:36
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Jmcc, para ese tipo de variables (rutas, colores ....), yo por lo menos, te recomiendo el web.config, ya que en un momento dado, las puedes cambiar en un "plis" sin tener que recompilar. Por lo demás también es una buena opción, sobre todo si se van a manejar variables de aplicacion.
  #11 (permalink)  
Antiguo 27/07/2005, 09:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Es mejor poner variables en el web.config (como por ejemplo la cadena de conexion)

Ahora que si lo estas tomando el valor desde una base de datos, lo puedes colocar de forma públic de tipo static (c#) o shared (vb.net) en el global.asax y en tu evento application beginrequest cargarle el valor que deseas y con ello estará disponible en todo momento en toda la aplicacion.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #12 (permalink)  
Antiguo 27/07/2005, 10:34
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Cita:
Iniciado por Jose_minglein2
para VB con () para c# []

Por cierto,ahi que tener mucho cuidado en modificar variables de aplicacion.
A que te refieres Jose, con que hay que tener cuidado?
__________________
..:: moNTeZIon ::..
  #13 (permalink)  
Antiguo 27/07/2005, 10:41
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
No nada, importante, simplemente a despistes que se puedan cometer en programación, p.ej.

En el application_Start (o como se llame) defino una constante

Application("constante") = 5

y luego en codigo pensando que funcionan como una variable de sesion, podría hacer

Application("constante") = Integer.Parse(Application("constante")) * 2

y luego obtener resultados no deseados cuando otro usuario intente acceder a dicha, variable.

Digo lo de cuidado, xq:

Cita:
Si quieres cambiar el valor puedes hacer:
Application.Add("nombre",null)
Application.Add("nombre",objeto)
Y eso puede ser contraproducente.
  #14 (permalink)  
Antiguo 27/07/2005, 10:43
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Iniciado por moNTeZIon
A que te refieres Jose, con que hay que tener cuidado?
A que hay que saber exactamente que se va acolocar en una variable de aplicacion porque se verá afectada para todos... y saber tambien cuando cambiarla..
  #15 (permalink)  
Antiguo 27/07/2005, 11:04
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Bueno, pensé que me perdía algo..

Siempre hay que tener cuidado para programar. Hay que ser (muy) meticuloso.

Bien, yo ya tengo bastante por hoy!
Me voy pal concierto de Delincuentes
Saludos gente!
__________________
..:: moNTeZIon ::..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:14.