Timer en ASP.NET

29/07/2004 - 23:30 por Omar del Valle | Informe spam
Hola lista,

¿Puedo yo poner un Timer en una aplicación ASP.NET? Claro, hablo de un timer
a nivel a nivel de aplicación.

Otra cosa: Como a nivel de aplicación ASP.NET puedo acceder a las distintas
HttpSession creadas por los usuarios conectados a mi aplicación

Mil Gracias..
Salu2
Omar del Valle R.
Ciudad de la Habana - Cuba
Desarrollador Microsoft 3 Estrellas .NET
El brillo aislado, es luz desperdiciada. theSpoke

Preguntas similare

Leer las respuestas

#1 Franco Figún
29/07/2004 - 21:39 | Informe spam
Para el timer, tenes que usar el namespace "System.Timers", aca tenes un
mini-manual:

http://msdn.microsoft.com/library/e...frame=true

Un ejemplo seria este:

private void StartTimer()
{
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Interval = 5000;
myTimer.Elapsed += new
System.Timers.ElapsedEventHandler(myTimer_Elapsed);
myTimer.Enabled = true;
}

protected void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs
e)
{
//do some work
}

Sobre lo otro, creo que se maneja de esta manera:

this.Session[ "ItemDescription" ] = TextBoxItemDescription.Text;


FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:

"Omar del Valle" wrote in message
news:#
Hola lista,

¿Puedo yo poner un Timer en una aplicación ASP.NET? Claro, hablo de un


timer
a nivel a nivel de aplicación.

Otra cosa: Como a nivel de aplicación ASP.NET puedo acceder a las


distintas
HttpSession creadas por los usuarios conectados a mi aplicación

Mil Gracias..
Salu2
Omar del Valle R.
Ciudad de la Habana - Cuba
Desarrollador Microsoft 3 Estrellas .NET
El brillo aislado, es luz desperdiciada. theSpoke


Respuesta Responder a este mensaje
#2 Jose Marcenaro
29/07/2004 - 22:17 | Informe spam
Lo que dice Franco es cierto, pero ten en cuenta que en una aplicacion
ASP.NET dificilmente tenga sentido poner, en el procesamiento de la página
del lado del server, un timer de cualquier clase.

El motivo de esto es que, al activarse el timer (en caso de que no hubiera
sido destruido al terminar de procesarse la pagina actual), no tendría a
quien retornar la información (el objeto Context y por tanto Response, etc,
ya han sido destruidos)

Lo que si es frecuente es que del lado del cliente (el browser) quieras
manejar algun tipo de timer para pedir el refresco de la página, eso lo
puedes hacer desde javascript (métodos window.setInterval,
window.setTimeout) o bien incluyendo en el <HEAD> de la página una clausula
tipo
<META HTTP-EQUIV="Refresh" CONTENT="3" />

Saludos
Jose Marcenaro

"Franco Figún" escribió en el mensaje
news:
Para el timer, tenes que usar el namespace "System.Timers", aca tenes un
mini-manual:




http://msdn.microsoft.com/library/e...frame=true

Un ejemplo seria este:

private void StartTimer()
{
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Interval = 5000;
myTimer.Elapsed += new
System.Timers.ElapsedEventHandler(myTimer_Elapsed);
myTimer.Enabled = true;
}

protected void myTimer_Elapsed(object sender,


System.Timers.ElapsedEventArgs
e)
{
//do some work
}

Sobre lo otro, creo que se maneja de esta manera:

this.Session[ "ItemDescription" ] = TextBoxItemDescription.Text;


FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:

"Omar del Valle" wrote in message
news:#
> Hola lista,
>
> ¿Puedo yo poner un Timer en una aplicación ASP.NET? Claro, hablo de un
timer
> a nivel a nivel de aplicación.
>
> Otra cosa: Como a nivel de aplicación ASP.NET puedo acceder a las
distintas
> HttpSession creadas por los usuarios conectados a mi aplicación
>
> Mil Gracias..
> Salu2
> Omar del Valle R.
> Ciudad de la Habana - Cuba
> Desarrollador Microsoft 3 Estrellas .NET
> El brillo aislado, es luz desperdiciada. theSpoke
>
>


Respuesta Responder a este mensaje
#3 Franco Figún
29/07/2004 - 23:18 | Informe spam
Estoy de acuerdo, José, aunque tambien se puede usar esto:

<%
response.clear
Response.CacheControl = "Private"
Response.ExpiresAbsolute = #1/5/2000 12:12:12#
Response.Expires = -1000
Response.Buffer = false
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
%>
<script language="JavaScript">
var countDownInterval;
var c_reloadwidth 0
</script>
<ilayer id="c_reload" width=&{c_reloadwidth}; ><layer id="c_reload2"
width=&{c_reloadwidth}; left=0 top=0></layer></ilayer>
<script>
var countDownTime=countDownInterval+1;
function countDown(){
countDownTime--;
if (countDownTime <=0){
countDownTime=countDownInterval;
clearTimeout(counter)
window.location.reload()
return
}
if (document.all) //if IE 4+
document.all.countDownText.innerText = countDownTime+" ";
else if (document.getElementById) //else if NS6+
document.getElementById("countDownText").innerHTML=countDownTime+" "
else if (document.layers){
document.c_reload.document.c_reload2.document.write('Próxima <a
href="javascript:window.location.reload()">actualización</a> en <b
id="countDownText">'+countDownTime+' </b> segundos')
document.c_reload.document.c_reload2.document.close()
}
counter=setTimeout("countDown()", 1000);
}

function startit(){
if (document.all||document.getElementById)
document.write('Próxima <a
href="javascript:window.location.reload()">actualización</a> en <b
id="countDownText">'+countDownTime+' </b> segundos')
countDown()
}

if (document.all||document.getElementById)
startit()
else
window.onload=startit
</script>

FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:

"Jose Marcenaro" wrote in message
news:#
Lo que dice Franco es cierto, pero ten en cuenta que en una aplicacion
ASP.NET dificilmente tenga sentido poner, en el procesamiento de la página
del lado del server, un timer de cualquier clase.

El motivo de esto es que, al activarse el timer (en caso de que no hubiera
sido destruido al terminar de procesarse la pagina actual), no tendría a
quien retornar la información (el objeto Context y por tanto Response,


etc,
ya han sido destruidos)

Lo que si es frecuente es que del lado del cliente (el browser) quieras
manejar algun tipo de timer para pedir el refresco de la página, eso lo
puedes hacer desde javascript (métodos window.setInterval,
window.setTimeout) o bien incluyendo en el <HEAD> de la página una


clausula
tipo
<META HTTP-EQUIV="Refresh" CONTENT="3" />

Saludos
Jose Marcenaro

"Franco Figún" escribió en el mensaje
news:
> Para el timer, tenes que usar el namespace "System.Timers", aca tenes un
> mini-manual:
>
>



http://msdn.microsoft.com/library/e...frame=true
>
> Un ejemplo seria este:
>
> private void StartTimer()
> {
> System.Timers.Timer myTimer = new System.Timers.Timer();
> myTimer.Interval = 5000;
> myTimer.Elapsed += new
> System.Timers.ElapsedEventHandler(myTimer_Elapsed);
> myTimer.Enabled = true;
> }
>
> protected void myTimer_Elapsed(object sender,
System.Timers.ElapsedEventArgs
> e)
> {
> //do some work
> }
>
> Sobre lo otro, creo que se maneja de esta manera:
>
> this.Session[ "ItemDescription" ] = TextBoxItemDescription.Text;
>
>
> FF
> www.francofigun.com.ar
> www.microsofties.com.ar
> Yahoo MSN:
>
> "Omar del Valle" wrote in message
> news:#
> > Hola lista,
> >
> > ¿Puedo yo poner un Timer en una aplicación ASP.NET? Claro, hablo de un
> timer
> > a nivel a nivel de aplicación.
> >
> > Otra cosa: Como a nivel de aplicación ASP.NET puedo acceder a las
> distintas
> > HttpSession creadas por los usuarios conectados a mi aplicación
> >
> > Mil Gracias..
> > Salu2
> > Omar del Valle R.
> > Ciudad de la Habana - Cuba
> > Desarrollador Microsoft 3 Estrellas .NET
> > El brillo aislado, es luz desperdiciada. theSpoke
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Omar del Valle
30/07/2004 - 19:39 | Informe spam
Gracias a los dos.. pero a ver.. José está claro que lo que dice.

Por eso cuando pedí la información del timer dije que era a nivel de
aplicación.. ya saben que una aplicación ASP.NET persiste mientras se estén
realizando Request a ella.. por eso el timer siempre lo vi a nivel de
aplicación.. algo así como un objeto estático.. que se construye cuando la
aplicación se inicia y no se destruye a nivel de Sección.

En cuanto al acceso a las Secciones ocurre lo mismo.. un usuario puede
hacerme un Request a mi aplicación y yo guardo información para ese usuario
a nivel de Session["var1"] = x.. ahora a nivel de aplicación yo quiero
saber el valor de var1 en cada una de las secciones creadas en mi
aplicación.

Salu2
Omar del Valle R.
Ciudad de la Habana - Cuba
Desarrollador Microsoft 3 Estrellas .NET
El brillo aislado, es luz desperdiciada. theSpoke
"Franco Figún" wrote in message
news:
Estoy de acuerdo, José, aunque tambien se puede usar esto:

<%
response.clear
Response.CacheControl = "Private"
Response.ExpiresAbsolute = #1/5/2000 12:12:12#
Response.Expires = -1000
Response.Buffer = false
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
%>
<script language="JavaScript">
var countDownInterval;
var c_reloadwidth 0
</script>
<ilayer id="c_reload" width=&{c_reloadwidth}; ><layer id="c_reload2"
width=&{c_reloadwidth}; left=0 top=0></layer></ilayer>
<script>
var countDownTime=countDownInterval+1;
function countDown(){
countDownTime--;
if (countDownTime <=0){
countDownTime=countDownInterval;
clearTimeout(counter)
window.location.reload()
return
}
if (document.all) //if IE 4+
document.all.countDownText.innerText = countDownTime+" ";
else if (document.getElementById) //else if NS6+
document.getElementById("countDownText").innerHTML=countDownTime+" "
else if (document.layers){
document.c_reload.document.c_reload2.document.write('Próxima <a
href="javascript:window.location.reload()">actualización</a> en <b
id="countDownText">'+countDownTime+' </b> segundos')
document.c_reload.document.c_reload2.document.close()
}
counter=setTimeout("countDown()", 1000);
}

function startit(){
if (document.all||document.getElementById)
document.write('Próxima <a
href="javascript:window.location.reload()">actualización</a> en <b
id="countDownText">'+countDownTime+' </b> segundos')
countDown()
}

if (document.all||document.getElementById)
startit()
else
window.onload=startit
</script>

FF
www.francofigun.com.ar
www.microsofties.com.ar
Yahoo MSN:

"Jose Marcenaro" wrote in message
news:#
> Lo que dice Franco es cierto, pero ten en cuenta que en una aplicacion
> ASP.NET dificilmente tenga sentido poner, en el procesamiento de la


página
> del lado del server, un timer de cualquier clase.
>
> El motivo de esto es que, al activarse el timer (en caso de que no


hubiera
> sido destruido al terminar de procesarse la pagina actual), no tendría a
> quien retornar la información (el objeto Context y por tanto Response,
etc,
> ya han sido destruidos)
>
> Lo que si es frecuente es que del lado del cliente (el browser) quieras
> manejar algun tipo de timer para pedir el refresco de la página, eso lo
> puedes hacer desde javascript (métodos window.setInterval,
> window.setTimeout) o bien incluyendo en el <HEAD> de la página una
clausula
> tipo
> <META HTTP-EQUIV="Refresh" CONTENT="3" />
>
> Saludos
> Jose Marcenaro
>
> "Franco Figún" escribió en el mensaje
> news:
> > Para el timer, tenes que usar el namespace "System.Timers", aca tenes


un
> > mini-manual:
> >
> >
>



http://msdn.microsoft.com/library/e...rs.asp?fra
me=true
> >
> > Un ejemplo seria este:
> >
> > private void StartTimer()
> > {
> > System.Timers.Timer myTimer = new System.Timers.Timer();
> > myTimer.Interval = 5000;
> > myTimer.Elapsed += new
> > System.Timers.ElapsedEventHandler(myTimer_Elapsed);
> > myTimer.Enabled = true;
> > }
> >
> > protected void myTimer_Elapsed(object sender,
> System.Timers.ElapsedEventArgs
> > e)
> > {
> > //do some work
> > }
> >
> > Sobre lo otro, creo que se maneja de esta manera:
> >
> > this.Session[ "ItemDescription" ] = TextBoxItemDescription.Text;
> >
> >
> > FF
> > www.francofigun.com.ar
> > www.microsofties.com.ar
> > Yahoo MSN:
> >
> > "Omar del Valle" wrote in message
> > news:#
> > > Hola lista,
> > >
> > > ¿Puedo yo poner un Timer en una aplicación ASP.NET? Claro, hablo de


un
> > timer
> > > a nivel a nivel de aplicación.
> > >
> > > Otra cosa: Como a nivel de aplicación ASP.NET puedo acceder a las
> > distintas
> > > HttpSession creadas por los usuarios conectados a mi aplicación
> > >
> > > Mil Gracias..
> > > Salu2
> > > Omar del Valle R.
> > > Ciudad de la Habana - Cuba
> > > Desarrollador Microsoft 3 Estrellas .NET
> > > El brillo aislado, es luz desperdiciada. theSpoke
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida