|
code
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Timer.Elapsed event doesn't want to fireI am trying to learn how to use the System.Timers.Timer control to perform
an action every certain amount of time. However, the Elapsed event doesn't want to fire, but I can't figure out why. I looked at several code examples online, but I think I was doing everything the same way they were. Does anybody have a complete example in VB.NET (the whole aspx and aspx.vb file so I know I am including everything) that I can look at? Any help would be appreciated. Thanks. Are you trying to use this in a ASP.NET Page? Pages live only for the time of
the request. Once a request is served, the Page class is destroyed. Show quoteHide quote "Nathan Sokalski" wrote: > I am trying to learn how to use the System.Timers.Timer control to perform > an action every certain amount of time. However, the Elapsed event doesn't > want to fire, but I can't figure out why. I looked at several code examples > online, but I think I was doing everything the same way they were. Does > anybody have a complete example in VB.NET (the whole aspx and aspx.vb file > so I know I am including everything) that I can look at? Any help would be > appreciated. Thanks. > -- > Nathan Sokalski > njsokal***@hotmail.com > http://www.nathansokalski.com/ > > > for asp.net, anand is correct.
for all languages in general, timers are not guaranteed to fire on time. this happens for two reason: 1) task switching at the CPU; and 2) WM_TIMER messages have a lower priority than other messages (like device input) I understand that that is true for the actual pages, but is there a way to
use a timer in the Global.asax.vb file? Doesn't that live the entire life of the application? My basic goal is to find a way to periodically send myself stats about what people do at my site, and send email newsletters. And there is obviously some purpose for the System.Timers.Timer in ASP.NET since Visual Studio lets you add it to an ASP.NET webform. Show quoteHide quote "Anand[MVP]" <Anand***@discussions.microsoft.com> wrote in message news:EDD9C189-3F89-4A4D-8476-7373EC3A02B1@microsoft.com... > Are you trying to use this in a ASP.NET Page? Pages live only for the time > of > the request. Once a request is served, the Page class is destroyed. > > -- > Rgds, > Anand > VB.NET MVP > http://www.dotnetindia.com > > > "Nathan Sokalski" wrote: > >> I am trying to learn how to use the System.Timers.Timer control to >> perform >> an action every certain amount of time. However, the Elapsed event >> doesn't >> want to fire, but I can't figure out why. I looked at several code >> examples >> online, but I think I was doing everything the same way they were. Does >> anybody have a complete example in VB.NET (the whole aspx and aspx.vb >> file >> so I know I am including everything) that I can look at? Any help would >> be >> appreciated. Thanks. >> -- >> Nathan Sokalski >> njsokal***@hotmail.com >> http://www.nathansokalski.com/ >> >> >> Here is an example. for the full context, see:
http://www.eggheadcafe.com/articles/20040607.asp Hope this helps. --Peter using System; using System.Web; using System.Threading; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace BlackbeltBLL { public class BackgroundService : IHttpModule { static Timer timer; int interval = 5000; public String ModuleName { get { return "BackgroundService"; } } public void Init(HttpApplication application) { // Wire-up application events if (timer == null) timer = new Timer(new TimerCallback(ScheduledWorkCallback), application.Context, interval, interval); } public void Dispose() { timer = null; } private void ScheduledWorkCallback (object sender) { HttpContext context = (HttpContext) sender; Poll(context); } void DoSomething (HttpContext context) { } #region DB Poll void Poll (HttpContext context) { SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["Northwind"]); SqlCommand command = new SqlCommand("SELECT * FROM changenotification", connection); SqlDataReader reader; string key = ConfigurationSettings.AppSettings["SqlDependency"]; connection.Open(); reader = command.ExecuteReader(); while (reader.Read()) { string tableKey = String.Format(key, reader["Table"]); if (context.Cache[tableKey] != null) { int changeKey = int.Parse( context.Cache[ String.Format(key, reader["Table"])].ToString() ); if (changeKey != int.Parse( reader["ChangeID"].ToString() )) context.Cache.Remove(tableKey); } } connection.Close(); } #endregion } } Nathan Sokalski wrote: Show quoteHide quote > I understand that that is true for the actual pages, but is there a way to > use a timer in the Global.asax.vb file? Doesn't that live the entire life of > the application? My basic goal is to find a way to periodically send myself > stats about what people do at my site, and send email newsletters. And there > is obviously some purpose for the System.Timers.Timer in ASP.NET since > Visual Studio lets you add it to an ASP.NET webform. > -- > Nathan Sokalski > njsokal***@hotmail.com > http://www.nathansokalski.com/ > "Anand[MVP]" <Anand***@discussions.microsoft.com> wrote in message > news:EDD9C189-3F89-4A4D-8476-7373EC3A02B1@microsoft.com... > > Are you trying to use this in a ASP.NET Page? Pages live only for the time > > of > > the request. Once a request is served, the Page class is destroyed. > > > > -- > > Rgds, > > Anand > > VB.NET MVP > > http://www.dotnetindia.com > > > > > > "Nathan Sokalski" wrote: > > > >> I am trying to learn how to use the System.Timers.Timer control to > >> perform > >> an action every certain amount of time. However, the Elapsed event > >> doesn't > >> want to fire, but I can't figure out why. I looked at several code > >> examples > >> online, but I think I was doing everything the same way they were. Does > >> anybody have a complete example in VB.NET (the whole aspx and aspx.vb > >> file > >> so I know I am including everything) that I can look at? Any help would > >> be > >> appreciated. Thanks. > >> -- > >> Nathan Sokalski > >> njsokal***@hotmail.com > >> http://www.nathansokalski.com/ > >> > >> > >> hi, there are two types of timers, one is at windows forms, and the other is
at components, one works just fine, and the other its just crap... i didnt know the difference, but so is it... salute! Show quoteHide quote "Nathan Sokalski" wrote: > I am trying to learn how to use the System.Timers.Timer control to perform > an action every certain amount of time. However, the Elapsed event doesn't > want to fire, but I can't figure out why. I looked at several code examples > online, but I think I was doing everything the same way they were. Does > anybody have a complete example in VB.NET (the whole aspx and aspx.vb file > so I know I am including everything) that I can look at? Any help would be > appreciated. Thanks. > -- > Nathan Sokalski > njsokal***@hotmail.com > http://www.nathansokalski.com/ > > >
Cannot change font in Webcontrol treeview node
REPOST: How can I change the color of the Selected Item in a list TREENODETYPES attribute does not work IExtenderProvider Stack Over Flow Message in IE a dropdown list in the "Properties" window Calling an ASP File From ASP.net page Add UserControl on CodeBeheind Send email bu clicking button Datagrid navigation problem |
|||||||||||||||||||||||