0

将按计划从应用程序发送电子邮件。

我的 ASP.NET MVC 应用程序中有一个带有操作方法的 EmailController,每个方法用于每种通知/电子邮件,需要在一周的不同时间调用。

问题:Windows 调度程序(在 Server 2008 机器上运行)是否比通过 SQL Server 作业调度更好或更差?为什么?

谢谢

4

2 回答 2

0

恕我直言,调度程序调用控制器并执行动作方法来触发通知效果最好。我的过程(无论好坏)是这样的:

  1. 将调用控制器/动作的代码放在 .vbs 文件中。action 方法需要一个“安全代码”,它必须与 web.config 中的值匹配,否则它将不会执行(我的想法是,这将减少一些人使用浏览器点击 action 方法并运行发送通知的机会不应该运行的代码)。

  2. 在 Scheduler 中创建计划任务以定期调用该文件。

  3. 在我的数据库中,记录所有通知执行并包含一个属性,该属性定义不同通知类型应该发出的频率。同样,这是为了减少某人在不应该发送通知时发送通知的机会。

无论如何,这行得通。我遇到的唯一问题是访问 https。这不起作用,因为我认为该任务正在受到挑战以提供一些凭据(它不能以编程方式运行)。将其更改为 http 有效,并且 imo 不会产生任何类型的安全风险。

想法?更好的方法来实现这个?我很想听听任何人提供的任何东西。

谢谢

于 2010-03-20T04:21:32.343 回答
0

我更喜欢使用 SQL 服务器作业发送电子邮件。由于我们已经在 SQL 服务器上运行了多个作业,因此坚持使用这种方法是有意义的。如果我们沿着计划任务路线走下去,我们就会有 2 个不同的任务计划系统,这会增加不必要的复杂性。由于所有计划任务都通过一个系统发生,因此很容易跟踪和维护它们。

于 2011-04-01T11:02:17.593 回答