ASP.net中每隔一定时间查询数据库表,并根据表里面的条件发送邮件要怎么实现啊?!
要求不影响其他人继续使用网页。
要求不影响其他人继续使用网页。
解决方案 »
- 如何让弹出的层在屏幕处于居中状态
- 响应回车事件?
- 同样的在05中gridview编辑问题!
- [馨郁星愿]关于手机号码过滤~~~
- asp.net里能否像asp里使用过程sub???
- 本人有时间做了一个日程安排和名片管理系统,B/S结构,sql+ASP.NET(C#),赠送大家免费使用,需要的请留下EMAIL!
- javascript中onload 和onunload 的问题
- 怎样用vb.net实现网页画几何图形
- ASPX网页不能连接显示 SQL SERVER 2000数据库中表的问题,大侠帮忙一下,谢谢
- 求助:哪里有真正的asp.net(c#)论坛源代码下载?
- ?[求救]ASP.net中datagrid 实现分页和排序,但是出现分页不成功
- Vs2005引用类问题
在Global.aspx中打开Timer即可。
有没有人知道怎么样做啊?
等着救命啊!
你说的是在页面里面隔段刷新!
我要求的是放在后台,由Global.aspx.cs调用,也就是启动的时候调用该模块或者说是函数。
http://ttyp.cnblogs.com/archive/2005/03/18/121106.html
+
settimeout
技术
最后在global start的时候调一下那个启动timer的方法就行。
定时运行 下面的存储过程
CREATE PROCEDURE sys_sendmail
@From varchar(100),--发件人
@To varchar(100),--收件人
@Bcc varchar(500),--抄送人
@Subject varchar(400),--主题
@Body varchar(4000),--内容
@stmp_server nvarchar(4000),--发送邮件服务器
@email_user nvarchar(4000),--发送邮件服务器登录用户名
@email_pass nvarchar(4000) --发送邮件服务器登录用户密码
as
Declare @object int
Declare @hr int
EXEC @hr = sp_OACreate 'CDO.Message', @object OUT
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', @stmp_server
--下面三条语句是smtp验证,如果服务器需要验证,则必须要这三句,你需要修改用户名和密码
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value',@email_user
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value',@email_pass
EXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null
EXEC @hr = sp_OASetProperty @object, 'To', @To
EXEC @hr = sp_OASetProperty @object, 'Bcc', @Bcc
EXEC @hr = sp_OASetProperty @object, 'From', @From
EXEC @hr = sp_OASetProperty @object, 'Subject', @Subject
EXEC @hr = sp_OASetProperty @object, 'TextBody', @Body
EXEC @hr = sp_OAMethod @object, 'Send', NULL
--判断出错
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN @object
END
PRINT 'success'
EXEC @hr = sp_OADestroy @object
GO
http://blog.8384.org/blogview.asp?logID=239
希望你能用到
这个比较实用吧~~~
weh service由客户端每隔固定时间调用服务器上的方法
ajax同样的思想每隔固定的时间发送请求
这个比较实用吧~~~
同意!您不想要页面传回后台?数据本在后台,那不简单?
aspx.cs
private void Page_Load(object sender, System.EventArgs e)
{
// 查数据
//发邮件
}aspx页里加这个:
<script>
<!--
var limit="0:15" //0:15 刷新时间15秒
if (document.images)
{
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else
{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+"秒后重刷本页!"
else
curtime=cursec+"秒后重刷本页!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
window.onload=beginrefresh
//-->
</script>
最后在global start的时候调一下那个启动timer的方法就行。
例如:
public void setTimer()
{
System.Timers.Timer atime = new System.Timers.Timer();
atime.Interval = 1000*2;//隔多长时间激活事件
atime.Enabled = true;
atime.Elapsed += new ElapsedEventHandler(eventHandler);
}
protected void eventHandler(Object source, System.Timers.ElapsedEventArgs e)
{
//要做的事件
}
然后在global start的时候调一下setTimer就行了