在拥有全球列表时,我应该选择每天执行哪种类型的应用程序?

时间:2017-10-25 14:44:02

标签: c# web-applications active-directory windows-services scheduled-tasks

我想在密码过期时为我们公司的现场工作人员建立一个应用程序。在与Active Directory通信时,我将使用某种类型的C#应用​​程序。

我还想确保用户不会每天都通过电子邮件发送,因为这听起来有点令人讨厌。我的想法是创建一个没有UI的Web应用程序,并拥有一个永远不会被重置的电子邮件用户的全局列表,只是更新(用户在通过电子邮件发送时添加,并在密码不再过期时被删除) 。因此,我将使用包含其samaccountname的用户对象及其通过电子邮件发送的日期填充该列表。如果他们在列表中,我不想再次发送电子邮件。

然而,在做了一些阅读后,我发现有多个消息来源表示,按照计划执行非交互式 web 应用程序并不是一个好方法。相反,似乎人们喜欢Windows服务,这是我不太了解的事情。

实施这样的事情最佳做法是什么?我的想法也可能完全没有。感谢您的任何见解。

编辑:新想法 - 也许使用SQL表比全局列表更好。

1 个答案:

答案 0 :(得分:0)

是的,你对存储是绝对正确的,sql或nosql应该可以胜任。

我的建议是将您描述的信息存储在某些数据库中,这样您就可以拥有安全长期生存存储空间关于数据(电源切断,网络丢弃甚至简单重启服务器等方案都不会导致丢失有关发送电子邮件的信息)。

task scheduler 与简单的控制台应用程序一起使用就可以了。这听起来更接近您的需求(在期间执行检查和通知)。