回答
可以启动一个后台线程(或线程池上的任务)并在此期间重定向用户。但是,不能保证任务在重定向请求到达时已经完成。你需要它吗?它只是“整理”,还是需要在显示结果之前完成处理?
请注意,我不认为有什么可以阻止AppDomain
在线程正在做它的事情时被垃圾收集......您可能想要将长时间运行的任务分离为单独的服务 - 请求发出请求到该服务,然后重定向用户。如果您具有请求的ID概念,则可以将其作为参数包含在重定向URL中,然后在重定向请求进入时检查服务是否已完成处理任务。
所以,如果我创建一个web服务而不是一个线程,调用服务并重定向用户,服务仍然会被执行?我不需要在执行完成时向用户发送任何响应,我只需要在不让用户等待的情况下执行它。 – ShadowG
@ShadowG:您希望使webservice本身很快返回,但添加一个作业到队列,或类似的东西。 –
如何使用XHR Request还是你想将用户重定向,后者可能会开始在另一个线程上运行的过程中,发送给客户端的响应..
是,create a new thread其中调用方法,或使用asynchronous handlers。
这取决于昂贵的操作的结果是否影响用户在下一页上看到的内容。或者,您可以使用ajax在页面加载后执行处理。
BackgroundWorker,如果你不擅长维护自己的主题,那么做得很好。
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
- 1. 在后台执行一段代码
- 2. 执行Javascript代码在后台线程
- 3. iPhone AVPlayer - 在后台执行代码
- 4. 如何在Rails控制台加载后执行代码?
- 5. 如何在执行另一个代码块后才执行代码块
- 6. dispatch_group_notify GCD后如何执行的代码?
- 7. 在后台执行
- 8. 如何在后台执行shell命令
- 9. 如何在后台执行Android任务
- 10. 如何在后台执行任务?
- 11. 如何在后台执行shell命令?
- 12. 有道推迟执行代码在后台工作
- 13. ajax窗口,同时在后台执行代码asp.net
- 14. swift ios 10异步或在后台执行代码
- 15. 当接收到推送通知时,在后台执行代码
- 16. 当OnClick代码在后台执行时禁用Winforms按钮
- 17. 如何在后台运行Java代码中的命令行?
- 18. C#如何在对象构造后执行代码(后构造)
- 19. 如何在Chrome控制台中执行Javascript代码?
- 20. CompleteRequest后执行代码()
- 21. clearInterval后执行代码
- 22. 更新后执行代码
- 23. Response.End()后执行代码
- 24. 运行的代码在后台
- 25. 在后台运行python代码
- 26. 在后台运行php代码块
- 27. 继续在后台运行代码ASP.NET
- 28. Javascript如何在forEach完成执行后运行一些代码
- 29. 如果Background Worker是一个后台线程,我该如何执行此代码?
- 30. 如何执行llvm代码
旋转应用程序池上的新线程。 – N0Alias