在后台运行任务

时间:2013-09-12 21:26:46

标签: c# asp.net sql-server

我有一个要求,我需要运行存储过程并以固定的时间间隔将结果作为电子邮件发送。时间间隔由用户设置&用户也可以设置为开始停止警报。

<asp:DropDownList ID="ddlTimeInterval" runat="server">
                        <asp:ListItem Text="15MIN" Value="15"></asp:ListItem>
                        <asp:ListItem Text="30MIN" Value="30"></asp:ListItem>
                        <asp:ListItem Text="1Hr" Value="60"></asp:ListItem>
                        <asp:ListItem Text="2Hrs" Value="120"></asp:ListItem>
                    </asp:DropDownList>
<asp:RadioButton ID="rbSetAlertsOn" GroupName="Group1" Text="Set Alerts On" Value="Yes"
                        AutoPostBack="true" runat="server" OnCheckedChanged="Group1_CheckedChanged" />
                    <asp:RadioButton ID="rbSetAlertsOff" GroupName="Group1" Text="Set Alerts Off" Value="No"
                        AutoPostBack="true" runat="server" OnCheckedChanged="Group1_CheckedChanged" />

现在,只要用户在aspx页面上,一切都很好。即使用户导航到另一个页面,我也希望显示警报电子邮件。也就是说,一旦设置了设置,我希望用户无论是否在网站上或已注销,都会收到电子邮件。另外,当他下次登录网站时,我希望他能够看到他在注销前使用的完全相同的设置。

我有办法吗?

2 个答案:

答案 0 :(得分:1)

我建议您使用服务,Windows服务,在用户需要后执行发送电子邮件作业,以及用户首选项,您可以设置cookie或保存在数据库中。

答案 1 :(得分:0)

您还可以使用Azure服务总线以及Azure移动服务中的工作进程和/或调度程序来实现此目的。