ASP.net中Timer和WebService的使用

晨曦之光 发布于 2012/05/16 17:15
阅读 924
收藏 0

 示例一

在Global.asax.cs文件中: 

 protected void Application_Start(Object sender, EventArgs e)
      {
               System.Timers.Timer timer1 = new System.Timers.Timer();
                timer1.Interval = 50000; // 50000 毫秒 = 50秒
                timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
                timer1.AutoReset = true;
                timer1.Enabled = true;
                timer1.Start();
       }

void timer1_Elapsed(object source, System.Timers.ElapsedEventArgs e)
      {
               // 在这里加上读取数据库的代码就可以实现后台服务定时访问数据库的功能,该功能对于实现文件解

        //锁、论坛定时统计等很有用。

       }

 

 

                                                                       示例二

 

通过在网站的Global.asax的Application_Start方法中
加入定时器 定时调用WebService
该WebService的一个方法 负责在后台
向数据库的某个表加入数据

步骤:
1.通过VS 新建一个网站
2.加入Global.asax
3.加入WebService 编辑 并 加入引用
4.对Global.asax进行编辑
5.保存 运行 网站 查看效果
==================================================================
1.通过VS 新建一个网站

2.加入Global.asax
-----------------
其默认内容如下:
<%@ Application Language="C#" %>

<script runat="server">
    
     void Application_Start(object sender, EventArgs e)
     {
         // 在应用程序启动时运行的代码
     }
    
     void Application_End(object sender, EventArgs e)
     {
         //   在应用程序关闭时运行的代码
     }
        
     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>
3.加入WebService 编辑 并 加入引用

4.对Global.asax进行如下编辑:
----------------------------
void Application_Start(object sender, EventArgs e)
     {
         // 在应用程序启动时运行的代码
         System.Timers.Timer myTimer = new System.Timers.Timer(60000);
         myTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
         myTimer.Interval = 60000;
         myTimer.Enabled = true;
     }
private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
     {
         localhost.WebService a = new localhost.WebService();
         string s = a.HelloWorld();
     }


原文链接:http://blog.csdn.net/maji9370/article/details/4708736
加载中
0
张小豆
如果我的是服务端的点击控件,直接用类点出事件会有其他问题吗?
返回顶部
顶部