将按计划从应用程序发送电子邮件。
我的ASP.NET MVC应用程序中有一个带有操作方法的EmailController,每种通知/电子邮件都有一个,需要在一周的不同时间调用。
问题:Windows Scheduler(在Server 2008上运行)是否比通过SQL Server作业安排此更好或更差?为什么?
由于
答案 0 :(得分:0)
恕我直言,调度程序调用控制器,并执行动作方法,以解决最好的通知。我的过程(为了最坏的情况)是这样的:
将代码调用到.vbs文件中调用控制器/操作。 action方法需要一个必须与web.config中的值匹配的“安全代码”,否则它将不会执行(我的想法是,这将减少某些人在浏览器中运行操作方法并运行发送通知的机会不应该运行的代码。)
在计划程序中创建计划任务以定期调用该文件。
在我的数据库中,记录所有通知执行并包含一个属性,该属性定义不同通知类型应该出现的频率。这也是为了减少某人发送通知的可能性。
无论如何,这是有效的。我遇到的唯一问题是访问https。这不起作用,因为我认为任务正在挑战提供一些凭据(它不能以编程方式运行)。将其更改为http working和imo不会产生任何安全风险。
思考?更好的方法来实现这个?我很乐意听到任何人提供的任何内容。
谢谢
答案 1 :(得分:0)
我更喜欢用SQL服务器作业发送电子邮件。由于我们已经在SQL服务器上运行了几个作业,因此坚持使用这一方法是有意义的。如果我们沿着预定的任务路线走下去,那么我们将拥有2个不同的任务调度系统,这增加了不必要的复杂性。通过一个系统完成所有计划任务,可以轻松跟踪和维护它们。