调度方法调用C#

时间:2009-06-11 07:47:39

标签: c# scheduling

我正在使用c#与twitter进行通信,我需要编写一个计划系统来在用户定义的日期发送推特消息。

要发送的消息位于包含交付日期和时间的数据库中。

哪种方法可以检查数据库中的已调度消息,并在到达时间后发送它?

4 个答案:

答案 0 :(得分:2)

您需要多长时间准确?您是否可以每5分钟对数据库进行一次轮询,并说“在当前时间+ 5分钟之前告诉我所有需要传递的消息”,然后将它们全部发送出去? (当然,将它们标记为在数据库中发送。)如果它们有点早或晚,这是否重要?

可以在C#端进行调度以使其更准确,但除非你真的需要我坚持使用一个非常简单的解决方案。

(根据您的数据库,可能会有一些聪明的方法来触发回调......但是,我会坚持使用最简单的解决方案。)

答案 1 :(得分:1)

除了Windows服务选项(或后台线程)之外,您可以设置一个计划任务来运行轮询数据库的应用程序,并在每个定义的时间间隔发送一次推文。

Windows会根据需要安排can be setup using C#,并且非常容易手动设置。

答案 2 :(得分:0)

有几种方法可以做到这一点,但我想最好的方法是设置一个Windows Service,它会定期轮询(频率由你决定)任何尚未发送的预定推文的数据库

毋庸置疑,您需要处理互联网连接或数据库关闭等情况。

答案 3 :(得分:0)

实际上,解决方案包括使用Windows服务,但它无法直接与ASP.NET MVC应用程序通信。我添加了一个处理任务的Web服务和Windows服务中的System.Threading.Timer,以定期调用Web服务。