各位大大,请帮帮忙看看我的这段Global.asax里的代码为什么不能执行
如题,先谢过各位了,刚接触,想在Global.asax做个定时检查的功能,但结果是没反映(里面执行的那段代码是测试的,就是往数据库里增加一个记录),代码如下:
<%@ Application Language="C#" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Timers" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Threading" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Web" %>
<script runat="server">
private System.Timers.Timer myTimer;
protected void Application_Start(Object sender, EventArgs e)
{
//定义定时器
myTimer=new System.Timers.Timer(60000);
myTimer.Elapsed+=new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
myTimer.Enabled=true;
myTimer.AutoReset = true;
}
private void myTimer_Elapsed(object source, ElapsedEventArgs e)
{
//这里写需要执行的任务
string TestSMS="test";
string connstr="Provider=Microsoft.Jet.Oledb.4.0;Data Source="+ Server.MapPath(ConfigurationSettings.AppSettings["DBPath"])+";";
OleDbConnection conn=new OleDbConnection(connstr);
conn.Open();
string sql = String.Format("insert into smscheck(TestSMS) values(@TestSMS)");
OleDbCommand updatecomm=new OleDbCommand(sql,conn);
updatecomm.Parameters.AddWithValue("@TestSMS",TestSMS);
updatecomm.ExecuteNonQuery();
updatecomm.Dispose();
conn.Close();
conn.Dispose();
}
protected void Application_End(Object sender, EventArgs e)
{
//下面的代码解决IIS应用程序池自动回收的问题
Thread.Sleep(1000);
//这里设置你的web地址,可以随便指向你的任意一个aspx页面甚至不存在的页面,目的是要激发Application_Start
string url = "http://localhost:82/111.aspx";
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回写的字节流
}
</script>