我工作過的.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