Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   Se pueden crear variables en el global (http://www.forosdelweb.com/f29/pueden-crear-variables-global-320250/)

Jat_ibo 27/07/2005 06:42

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??

charlytesis 27/07/2005 07:25

prueba con el view state, exactamente no se como se lo usa, pero puedes llegar a tener tus variables en toda tu pagina :si:

Jose_minglein2 27/07/2005 07:25

Application("nombredevariable")

o en el web.config agregar una key en el appsettings

Jmcc 27/07/2005 07:26

Respuesta ...
 
Esa variable va a tener siempre el mismo valor? :pensando:

Jose_minglein2 27/07/2005 07:29

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.

Jat_ibo 27/07/2005 07:30

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

moNTeZIon 27/07/2005 08:16

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.

Jose_minglein2 27/07/2005 08:30

para VB con () para c# []

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

Un saludo

Jmcc 27/07/2005 08:31

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

Jose_minglein2 27/07/2005 08:36

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.

RootK 27/07/2005 09:20

Es mejor poner variables en el web.config (como por ejemplo la cadena de conexion) :arriba:

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

moNTeZIon 27/07/2005 10:34

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?

Jose_minglein2 27/07/2005 10:41

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.

RootK 27/07/2005 10:43

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... :si: y saber tambien cuando cambiarla..

moNTeZIon 27/07/2005 11:04

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!


La zona horaria es GMT -6. Ahora son las 10:03.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.