.net定时任务如何实现?
冷淡的胖子 2018-03-01 02:07:43 在写某个门户网站时 需要算出每日收益 想通过定时任务来实现
1:首先想到数据库定作业来实现(可是线上数据库没有权限无法解决)
2:换思路想到Global里写Timers,(可是要程序启动时才能执行业务逻辑)
还有一点不懂就是Global里写Timers是不是一定要程序(网站)打开时才能执行业务逻辑
贴一段在网上看来的程序关闭时运行的代码
```
// 在应用程序关闭时运行的代码
protected void Application_End(object sender, EventArgs e)
{
//下面的代码是关键,可解决IIS应用程序池自动回收的问题
Thread.Sleep(1000);
//这里设置你的web地址,可以随便指向你的任意一个aspx页面甚至不存在的页面,目的是要激发Application_Start
string url = "Default.aspx";
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回写的字节流
}
```
不知道这样写是否可行 是否能做到在某一时间算出收益并插入到数据库中
3:后来又想到windows服务来实现,可奈何学疏才浅 这点完全一抹黑
4:想过在控制台中写一个死循环之类的
提问 :希望有比较好的解决方式或思路
如果可以 请贴出代码
先感谢各位!