我正在使用.NET 4建立一個(gè)網(wǎng)站。2003年有很多MSDN文章,有關(guān)使用Thread對(duì)象和2007,有關(guān)在.NET 2中使用Asynchronous Pages的文章,但這都是很陳舊的。我知道.NET 4帶給我們Task類,有些人含糊地警告不要將其用于此目的。因此,我想問(wèn)您,大約在2011年用于在ASP.NET 4中的IIS下運(yùn)行后臺(tái)/異步工作的“首選”方法是什么?關(guān)于直接使用線程/任務(wù)有什么注意事項(xiàng)?Async = true仍在流行嗎?編輯:好的,好的,從答案中可以明顯看出,如果可以的話,我應(yīng)該提供服務(wù)。但是在webapp內(nèi)執(zhí)行此操作的優(yōu)勢(shì)非常明顯,尤其是更易于部署/重新部署。假設(shè)該過(guò)程很容易崩潰,那么,如果我要在IIS中進(jìn)行操作,最好的方法是什么?asp.net iis 異步 asp.net-4.0 azure-webjobs
3 回答

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
最好避免在這種環(huán)境下執(zhí)行長(zhǎng)任務(wù)。
通過(guò)互操作性將長(zhǎng)期運(yùn)行的任務(wù)委托給穩(wěn)定的系統(tǒng)服務(wù),使Web應(yīng)用程序具有響應(yīng)能力,并且僅在直接用戶請(qǐng)求時(shí)才需要。
Web應(yīng)用程序從來(lái)沒(méi)有(現(xiàn)在仍然不是)被認(rèn)為是可靠的系統(tǒng)-曾經(jīng)使用過(guò)瀏覽器的任何人(至少)肯定會(huì)遇到超時(shí);(雙方)的不便并不限于這種情況。當(dāng)然,任何系統(tǒng)都可能崩潰,但是圍繞將要建立的持久化系統(tǒng)上的此類事件的情況應(yīng)該是完全例外的。
Windows服務(wù)被設(shè)計(jì)為可以長(zhǎng)期運(yùn)行,如果出現(xiàn)問(wèn)題,通常您比個(gè)人服務(wù)更需要擔(dān)心。
- 3 回答
- 0 關(guān)注
- 696 瀏覽
添加回答
舉報(bào)
0/150
提交
取消