我在这里创建了一个消息队列,它基本上是在一个线程上,并从数据库中一个接一个地发送电子邮件。首先我认为,因为它是一个连续的过程,所以它必须在 Windows 服务上,这听起来是一个理想的解决方案,但我没有和我的经理谈过,他说如果它在同一个存储库中会更好整个项目,如果我放入 while(true) 语句。这样在部署到生产环境时,我们无需担心安装任何 Windows 服务或任何东西。但我在这里的想法是,如果我们这样做,那么 Web 服务器就会承受很多不必要的压力。
我不知道该走哪条路。有什么建议吗?
最佳答案
我肯定会建议在后台处理电子邮件队列的 Windows 服务。以下是您可以向您的经理提出的一些建议:
- 该服务可以与另一个项目保存在同一个存储库中。
- 安装和升级服务非常简单。使用
installutil
并将批处理文件添加到您的项目以进行安装/卸载。升级就是停止服务,更新服务.exe
,然后重新启动服务。 - 所有这些在技术上都可以自动化,也可以作为部署过程的一部分。
关于c# - Windows 服务 VS 网络进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10758580/