随笔 - 89  文章 - 0  评论 - 2  阅读 - 11万 

需求,程序每20秒自动请求接口抓取数据

解决方式:

在程序根目录下的Global.asax.cs下编写

using System.Threading;
using System.Timers;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<br>/// <summary>
       /// 启动应用程序
       /// </summary>
       protected void Application_Start()
       {
           AreaRegistration.RegisterAllAreas();
           FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
           RouteConfig.RegisterRoutes(RouteTable.Routes);
           //// 启动的时候清除全部缓存
           ////定时器
           userIBLL.SaveLog("应用程序启动", "Application_Start");
           System.Timers.Timer aTimer = new System.Timers.Timer();
           aTimer.Elapsed += new ElapsedEventHandler(getMessages);
           //aTimer.AutoReset = true;
           aTimer.Interval = 20000;
           aTimer.Enabled = true;
           aTimer.Start();
           userIBLL.SaveLog("应用程序启动", "2");
       }

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
protected void Application_End(object sender, EventArgs e)
       {
           userIBLL.SaveLog("自动回收", "重新执行");
           //下面的代码是关键,可解决IIS应用程序池自动回收的问题 
           Thread.Sleep(1000);
           HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(需要重新启动程序的地址);
           HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
           Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回写的字节流 
       }
       protected void Application_Error(object sender, EventArgs e)
       {
           //重新启动应用程序
 
           var lastError = Server.GetLastError();
            
       }
       private void getMessages(object source, ElapsedEventArgs e)
       {
           try
           {
 
               <strong>写入需要执行的程序</strong>
           }
           catch (Exception ex)
           {
               //打log日志
           }
       }

  

posted on   我的梦想是开个小店  阅读(322)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示