我工作过的.Net一个MVC应用程序在服务器上,它的一个延伸部分包含张贴的事情不同的社交网络平台,如Facebook的功能,微博等,简而言之它所做的是实际上在指定的时间间隔和指定的时间之后自动发布到不同的网络上。问题在于发布部分必须始终在后台匿名运行,而不与任何真实网站的状态有任何关联,因此可以随时检查时间/间隔和帖子。保持功能活跃在后台
目前我的控制器有一个递归函数,主要部分看起来像下面的代码,但就像它发生在mvc中一样,这个函数通过来自客户端浏览器的url调用来启动,并且在调用之后浏览器继续等待状态因为此函数会一直递归运行,直到浏览器在指定的无响应时间后取消请求为止。
当然这种行为是不理想的,所以我要的是:
- 做出独立此功能,并保持在服务器后台 连续运行。
- 有人告诉我,如果我的工作,虽然使用WCF(Windows通信基础),使其成为服务等能解决我的问题吗?我不WCF但如果可以解决这个问题,我可以试试看。
- 我可以通过其他方式实现吗?
代码:
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();
我会争辩说,这样的事情是不适合的Web应用程序.. – 2012-08-04 10:52:13
@Simon怀特黑德:你有什么建议作为替代?这个功能并不需要成为网络应用程序的一部分..它也可以运行完全分开... – Maven 2012-08-04 11:05:18