回答
您应该在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分钟?我想避免这种情况 –
在这种情况下,您可以启动一个新线程并在线程内执行此任务。但正如我所说,如果您需要在控制器内使用此后台线程的结果,您将遇到问题,并且需要进行同步。 –