服务器每隔一段时间执行一次任务

本文介绍如何在ASP.NET应用中使用Global.asax文件实现定时任务,例如每30秒执行一次指定操作,并在应用结束时重置连接池以确保资源释放。

服务器每天都有自动备份,自动接收之类的事情要做,所以加一个自动执行 是很必须的

 

用的是VS2005 所以 添加的新项是 Global.asax,03的是另一个

 

 

<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
        System.Timers.Timer myTimer = new System.Timers.Timer(30000);//30秒
        myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
        myTimer.Enabled = true;
        myTimer.AutoReset = true;
    }


    void myTimer_Elapsed(object source, System.Timers.ElapsedEventArgs e)
    {
         执行的任务     

    }

 

      //重置下连接池
    void Application_End(object sender, EventArgs e)
    {
        //  在应用程序关闭时运行的代码

        System.Threading.Thread.Sleep(1000);

        string url = "http://localhost:82/111.aspx";//任意地址,为了方便重置连接池
        System.Net.HttpWebRequest myHttpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
        System.Net.HttpWebResponse myHttpWebResponse = (System.Net.HttpWebResponse)myHttpWebRequest.GetResponse();
        System.IO.Stream receiveStream = myHttpWebResponse.GetResponseStream();

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码
       

    }

    void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码

    }

    void Session_End(object sender, EventArgs e)
    {
        // 在会话结束时运行的代码。
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
        // 或 SQLServer,则不会引发该事件。

    }
      
</script>

 

 

 

注意的:

System.IO.Stream 和 Stream  是两个不同的概念,需要 全路径 服务器才能识别

转载于:https://www.cnblogs.com/hankstar/archive/2009/05/21/1486273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值