如何使用ASP.NET,C#,Webforms每天上午11点自动发送电子邮件?
我按下按钮点击发送邮件。我的要求是每天上午11点,邮件应该自动发送。这可能是使用C#代码吗?
<asp:Button ID="btnSendEmail" runat="server" Text="Send email" OnClick="SendEmail" class="btn btn-md btn-danger pull-right" />
下面是我的按钮代码。
If(time==11am)
{
//send mail
}
当我按下按钮时,gridview数据将发送到电子邮件。但我正在尝试下面的概念。
symbolic
我搜索了很多,但获得了Windows服务相关的示例,但我没有得到那种类型的概念。还有其他方法。
答案 0 :(得分:4)
您必须使用作业调度程序库。
您可以在特定时间安排工作。
使用hangfire会是这样的:
BackgroundJob.Schedule(
() => SendMail(),
new DateTime(2017, 27, 03, 11, 00, 00));
答案 1 :(得分:2)
由于多种原因,Web表单应用程序是计划任务的错误位置。首先,Web表单基于http的请求 - 响应范例。这意味着服务器代码由http请求触发,例如当用户浏览页面或点击按钮时。从理论上讲,您可以实现一个无限循环来检查条件(即利用睡眠或甚至是计时器),然后发送由SendMail
执行的消息。但是,这是一个坏主意,因为运行webforms应用程序的IIS应用程序池可能会被回收。
作为替代方案,您可以