【发布时间】:2010-07-26 05:51:38
【问题描述】:
我们正在构建一个使用 asp.net 3.5 和 SQL 服务器作为数据库的 Web 应用程序,该数据库非常大,被大约 300 名超级用户用于管理大约 5000 名员工。 现在我们正在应用程序中实现 SMS 功能,这意味着用户将能够发送和接收 SMS。每两分钟ping一次第三方的短信服务器,检查是否有新消息。短信也排队等待,每隔 15 到 30 分钟发送一次。
我希望这个检查和发送过程一直在应用程序的后台运行,即使用户关闭了浏览器窗口。 我需要一些关于如何执行此操作的建议?
使用线程会实现这一点,还是我需要为它创建一个 Windows 服务,或者还有其他选择吗?
更多信息:
我想在计时器中执行一个任务,如果我关闭浏览器窗口会发生什么,任务不会完成是不是这样。
例如,我以 5 分钟的时间间隔将 10 条记录保存到数据库中,这意味着每 5 分钟触发计时器滴答事件时,将一条记录插入到数据库中。
如果我关闭浏览器窗口,如何运行此任务?
我尝试查看 Windows 服务,但如何将通用数据集合传递给它进行处理。
【问题讨论】:
-
您希望计时器在服务器上还是在浏览器机器上运行?如果它在服务器上运行,那么关闭浏览器窗口不需要影响服务器上发生的事情。
标签: multithreading architecture windows-services