如果我想要在我的网站上每30天向用户运行一些代码,比如发送电子邮件,应该怎么做呢?
选项:
1)在Windows任务计划程序中运行的控制台应用程序
2)Windows服务 http://www.c-sharpcorner.com/UploadFile/mahesh/window_service11262005045007AM/window_service.aspx
如果您正在使用 .Net 3.5,那么我建议您不要构建工作流程,因为在切换到4.0时需要进行迁移(WF 3.5与4.0不兼容)。如果您拥有机器的管理员访问权限,则可以安装一个Windows服务,其中包含一个定时器,以根据需要每30天(或其他定义)触发代码。
如果您想在ASP.NET应用程序中完成而不是使用单独的应用程序,您有一些选项:
由于您希望它每30天运行一次而不是每日运行,我推荐使用调度表而不是应用程序变量或缓存来安排任务的方法:
您可以在数据库中设置一个计划表,并在global.asax中检查上次更新时间。在Session启动时,检查当前日期是否超过30天。如果是,则调用一个方法发送电子邮件。
如果发送电子邮件,则使用当前日期更新您的计划表。