我正在研究.Net的mvc应用程序,它的一个扩展部分包含一个功能,可以将内容发布到不同的社交网络平台,如Facebook,Twitter等。简而言之它实际上是自动发布的指定间隔后和指定时间后的不同网络。问题是发布部分必须始终在后台匿名运行而不与真实网站的状态有任何关联,因此它可以随时检查时间/间隔和帖子。
目前我的控制器有一个递归函数,在主要部分看起来像下面的代码,但正如在mvc中发生的那样,这个函数通过来自客户端浏览器的url调用获得启动,并且在调用之后浏览器继续等待状态,因为此函数以递归方式运行,直到浏览器在指定的无响应时间后取消请求。
当然这种行为并不理想,所以我想要的是:
代码:
while (status == "1")
{
if (totalRows > 0)
{
for (int i = 1; i < totalRows; i++)
{
myPostArray[i] = myPosts.Tables["myPosts"].Rows[i]["Postmsg"].ToString();
//…
//Post to the platform through respected API
//…
System.Threading.Thread.Sleep(3000000000);
}
status = true;
} else if (myPosts.Tables[0].Rows.Count == 0)
{
status = false;
}
TheRepeater();
答案 0 :(得分:2)
您确实需要一个单独的服务,它将执行以下操作:
sleep
以自动唤醒以进行下一次迭代