asp.net定时发送邮件总结 (转)
香港那边公司的市场部开会时要求我们这边实现一个定时发送邮件的功能,即在每天下午5点左右定时把今天已通过三审的订单信息发给市场部的经理,告诉他哪些订单已经通过了终审。平时只知道如何用.net发送邮件,但不知如何定时发送邮件。于是百度了一下,总结起来有以下那么三种:
(1)做一个winform 来定时发邮件。然后通过windows计划任务,设置为指定时间,每次自动运行,运行完毕后自动关闭。
(2)用sqlserver 数据库实现发邮件,用sqlserver实现发邮件的存储过程,然后制定一个作业,制定时间运行。
(3)在 Global.asax 文件里编程。事件:Application_Start。利用Time类编程。比如服务器1秒钟执行一次判断。
香港那边的公司的ERP糸统是BS模式,由于对方公司服务器环境条件与解决方案要简单的限制,我和我师傅决定用第三种方法。在编程之前,先介绍一下Global.asax文件里的几个方法。
protected void Application_Start(Object sender, EventArgs e)
{
//Application_start方法:请求 ASP.NET 应用程序中第一个资源(如页)时调用。在应用程序的生命周期期间仅调用一次
}
protected void Application_End(Object sender, EventArgs e)
{
//Application_end方法:在卸载应用程序之前对每个应用程序生命周期调用一次。
}
下面是具体的做法:
代码
protected void Application_Start(Object sender, EventArgs e)
{
Timer t = new Timer(60000);//设计时间间隔,如果一个小时执行一次就改为3600000 ,这里一分钟调用一次
t.Elapsed += new ElapsedEventHandler(t_Elapsed);
t.AutoReset = true;
t.Enabled = true;
}
private void t_Elapsed(object sender, ElapsedEventArgs e)
{
相关文档:
使用ASP.NET开发网站时,如果URL中传递的参数过长(具体多长没有测试)的话,在使用IE6浏览时,就会出现通过QueryString获得的值不完整,或者出现乱码的情况。其解决方法是:在Web.config中的System.web配置节中添加如下代码即可:
<globalization requestEncoding="gb2312" responseEncoding="gb2312" ......
使用 Web 部件控件,可以让用户在运行时创建两个服务器控件之间的连接,以形成连接并共享数据。一个控件用作数据的提供者,另一个控件用作数据的使用者。这两个控件可以是 WebPart 控件或任何其他类型的服务器控件。必须将它们设计为处理连接且位于 WebPartZoneBase 区域中。
在 ......
九、ASP.NET中GDI+
protected void Page_Load(object sender, EventArgs e)
{
string Filename;
System.Drawing.Image g;
&nbs ......
此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.
//ASP.NET中防止页面多次提交的代码:javascript< script language="javascript"> < !-- function disableOtherSubmit() {
var obj = event.srcElem ......
我觉得这个文章不能算我的原创,因为代码也是我从别的地方找到的,而且我在网上查了,基本上都是这套代码。
通用的把数据倒进word或者excel。这里的导入excel和我之前的那篇文章中的方法是不一样的。
代码如下:
aspx页面中:
<form id="form1" runat="server">
&nbs ......