每晚11点自动生成Excel,并发送至邮箱
2015-05-07 11:02
330 查看
我做了一个自动发送邮件的功能,使用Timer计时器来监测,想用间隔一段时间自动执行,利用global.asax后台执行,自动生成Excel,并发送至指定邮箱。发现发布至IIS后不自动执行,根本就没有进去Timer事件中去。
解决办法:发布到IIS后需要对所发布的网站进行浏览,这样才会启动Global.aspx,才会执行Timer监听事件。
protected void Application_Start(Object sender, EventArgs
e)
{
System.Timers.Timer myTimer = new System.Timers.Timer(60000
* 5);//设计时间间隔,如果10分钟执行一次就为60000*10
myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
myTimer.AutoReset = true;
myTimer.Enabled = true;
}
protected void Application_End(Object sender, EventArgs e)
{
//下面的代码是关键,可解决IIS应用程序池自动回收的问题
Thread.Sleep(1000);
//这里设置你的web地址,可以随便指向你的任意一个aspx页面甚至不存在的页面,目的是要激发Application_Start
string url = "http://www.baidu.com";
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回写的字节流
}
说明:IIS应用程序池会自动回收,回收后将不在执行Global.aspx中的事件,回收时间是1740分钟(我的是1740m),Application_End中如上可以解决IIS自动回收问题,通过Create url激发Application_Start
。但是这样仍然不能够解决IIS重启或者服务器重启的问题,发生这种情况时只要有人访问该网站就可以启动Application_Start 。
相关文章推荐
- JAVA自动生成sql结果到excel,并以附件方式发送到指定邮箱
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本
- 【转】Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本(一)
- 转: Oracle AWR 报告 每天自动生成并发送邮箱
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本
- 还在做重复的劳动,不如用Python自动生成Excel以邮件发送
- delhi从数据库导出数据生成Excel并自动发送邮件笔记
- 转: Oracle AWR 报告 每天自动生成并发送邮箱
- nodejs实现,每天定时自动读取数据库数据-生成excel表格-发送给老板邮箱
- nodejs实现,每天定时自动读取数据库数据-生成excel表格-发送给老板邮箱(promise版)
- Appium+python自动化测试框架(自动生成html,自动截图,运行完成后自动发送到邮箱)
- Azure云数据库报表自动生成Excel 并自动发送邮件实现
- Oracle AWR 报告 每天自动生成并发送邮箱
- JEEWEB中自动生成代码里添加可导出excel文档功能
- 使用POI生成excel文件,可以自动调整列宽等
- Excel怎么自动生成目录点击这个目录就可进入对应的工作表格
- DedeCMS提交自定义表单后自动发送邮件到站长邮箱的方法
- oracle状态自动监控,发送邮件到管理员邮箱
- 今天的收获---实现excel工资单的自动发送