ASP.net计划发布像Facebook

时间:2016-04-05 19:31:21

标签: c# asp.net scheduled-tasks quartz-scheduler

我试图在ASP.net/c#

上执行与Facebook页面的帖子安排类似的事情

基本上我需要的是:

  • 用户填写几个文本框
  • 选择日期......

该帖子在该日期发布... 我无法真正理解逻辑和编码......

到目前为止,我所想到的是,一旦用户提交帖子,将详细信息存储在SQL中的表格中,如SheduledPosts,以及当日期(服务器日期)与日期匹配时.... 将SQL条目从那里传输到实际的PostTable。

现在实际的过程需要在没有任何页面加载或用户完成任何操作的情况下进行......所以我也不明白如何从服务器端实现它......

请注意,我不试图向Facebook发布任何内容...而是尝试在我自己的asp.net网站上提交日程表...

关于逻辑,编码,调度的任何帮助都会受到很大的关注......

谢谢

2 个答案:

答案 0 :(得分:0)

我可以想到几种不同的方法来实现这个目标:

  1. 实施"待定帖子"表,并在服务器上运行一个单独的进程,以处理从"待处理的帖子"表到"当前帖子"在适当的时候表。
  2. 添加" publish_on" datetime字段到当前帖子表,当选择要在页面输出中显示的项目时,添加" WHERE publish_on IS NULL或publish_on> GETDATE()"您查询的子句。如果您希望在特定时间之前上线,请填写此信息。
  3. 就个人而言,我会采用第二种方法,因为我认为它是一种更优雅的解决方案。

答案 1 :(得分:0)

您可以使用一个表格执行此操作。只需提交一份'已提交的'日期字段(供您的记录),'发布'日期字段和布尔'发布的'领域。创建一个Windows服务,每隔5分钟左右运行一次,让服务执行日期检查;当它找到一个满足日期条件的时候,它只是将布尔字段切换为“真实”'然后您的页面逻辑可以显示帖子。

以下是创建简单Windows服务的演练:

https://msdn.microsoft.com/en-us/library/zt39148a%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396