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.Threadin g;
using System.Data;
using System.Data.Sql Client;
using System.Configur ation;
namespace BlackbeltBLL {
public class BackgroundServi ce : IHttpModule {
static Timer timer;
int interval = 5000;
public String ModuleName {
get { return "BackgroundServ ice"; }
}
public void Init(HttpApplic ation application) {
// Wire-up application events
if (timer == null)
timer = new Timer(new
TimerCallback(S cheduledWorkCal lback),
application.Con text, interval, interval);
}
public void Dispose() {
timer = null;
}
private void ScheduledWorkCa llback (object sender) {
HttpContext context = (HttpContext) sender;
Poll(context);
}
void DoSomething (HttpContext context) {
}
#region DB Poll
void Poll (HttpContext context) {
SqlConnection connection = new
SqlConnection(C onfigurationSet tings.AppSettin gs["Northwind"]);
SqlCommand command = new
SqlCommand("SEL ECT * FROM changenotificat ion", connection);
SqlDataReader reader;
string key =
ConfigurationSe ttings.AppSetti ngs["SqlDepende ncy"];
connection.Open ();
reader = command.Execute Reader();
while (reader.Read()) {
string tableKey = String.Format(k ey, reader["Table"]);
if (context.Cache[tableKey] != null) {
int changeKey =
int.Parse( context.Cache[ String.Format(k ey,
reader["Table"])].ToString() );
if (changeKey != int.Parse(
reader["ChangeID"].ToString() ))
context.Cache.R emove(tableKey) ;
}
}
connection.Clos e();
}
#endregion
}
}
Nathan Sokalski wrote:
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.T imer in ASP.NET since
Visual Studio lets you add it to an ASP.NET webform.
--
Nathan Sokalski
nj********@hotm ail.com
http://www.nathansokalski.com/
"Anand[MVP]" <An******@discu ssions.microsof t.com> wrote in message
news:ED******** *************** ***********@mic rosoft.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.T imer 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
nj********@hotm ail.com
http://www.nathansokalski.com/