回答
您應該在AS.NET中使用avoid running background tasks。但如果由於某種原因需要這樣做,您可以在Application_Start
開始一個新線程並執行這些任務。由於Application_Start
只執行一次,此線程將運行一次(除非你配置了一些定時器 - >你可能不應該這樣做)。
另一方面,如果您需要從ASP.NET MVC控制器(在HTTP請求的上下文中運行)中使用此後臺線程完成的工作,則需要進行適當的同步以確保初始化你在Application_Start
開始的線程已經完成。根據你的具體情況,可能有不同的方法來實現這一點。
這裏是你需要怎麼辦呢,基本上我們正在創建一個匿名delegate
將Invoke
發起的連接功能的樣品。
if(this.InvokeRequired)
{
Invoke(new MethodInvoker(() => yourFunctionThatCreatesSomeConnections(Args)));
}
else
{
yourFunctionThatCreatesSomeConnections(Args);
}
他問ASP.NET,而不是WinForms或WPF。沒有'InvokeRequired'和'Invoke'方法。 –
http://stackoverflow.com/questions/1103745/thread-safety-in-asp-net-mvc – Mayank
我不明白這個鏈接與你已經顯示的InvokeRequired和Invoke方法有什麼關係在你的答案中。 –
- 1. ASP.Net中的線程安全MVC
- 2. asp.net的MVC authorizationfilterattribute線程安全
- 3. Spring MVC單線程安全?
- 4. ASP.NET是System.Web.UI.Page線程安全
- 5. ASP.Net MVC安全AuthorizeAttribute
- 6. Asp.NET MVC和安全
- 7. MVC Razor ViewEngine不是線程安全的?
- 8. java線程安全:線程安全嗎?
- 9. 線程安全應用程序中的線程安全
- 10. asp.net mvc設置會話值與線程安全
- 11. RSA安全在Asp.net MVC應用程序
- 12. ASP.NET Mvc +線程
- 13. 在ASP.NET MVC中的安全PDF視圖
- 14. 在ASP.NET MVC中的登錄安全性
- 15. 在asp.net中的Viewmodel安全mvc
- 16. 安全ASP.NET MVC 3網站
- 17. asp.net和mvc,安全嗎?
- 18. Asp.net MVC安全區域
- 19. ASP.NET MVC Windows安全問題
- 20. PHP在ASP.NET MVC安全下
- 21. ASP.NET MVC ViewBag/TempData安全
- 22. Asp.Net MVC 3安全登錄
- 23. VB.Net中的線程安全
- 24. C中的線程安全?
- 25. GNUTLS中的線程安全
- 26. JSF中的線程安全
- 27. Javascript中的線程安全?
- 28. 線程安全
- 29. 線程安全
- 30. 線程安全
如果這個動作需要1分鐘,應用程序在Application_Start中停留1分鐘?我想避免這種情況 –
在這種情況下,您可以啓動一個新線程並在線程內執行此任務。但正如我所說,如果您需要在控制器內使用此後臺線程的結果,您將遇到問題,並且需要進行同步。 –