客户端向我请求了一个在后端执行大量处理的Web应用程序(从文件读取,写入Web服务)。我的问题是,由于这个“过程”(当用户点击'开始')可能需要几个小时,我该如何使它在用户关闭网页后继续处理?请让我知道,如果这没有任何意义,我可以提供更多信息。任何帮助将不胜感激,谢谢!从Web应用程序请求中创建单独的进程
回答
您必须为其创建MS Windows服务。
您已经为该服务提供了一些数据库表,客户端将使用您的网站功能。
请注意,您通常无法在共享主机环境中运行Windows服务。您需要完全访问Web服务器才能安装和管理Web服务。如果您没有此类访问权限,则可以在您有权访问的单独机器上运行Windows服务。在这种情况下,Web服务器必须以某种方式向另一台机器发送请求(例如,通过Web服务调用)。在您的网络流量较大的环境中,无论如何将Windows服务分离到单独的计算机可能是明智的。 – 2012-02-21 17:19:29
最好的解决方案将是在Windows服务中完成工作,并使用您的Web应用程序来触发处理。
是否可以在同一个解决方案中拥有2个Windows服务? – 2012-02-21 17:18:39
@IsaacLevin - 是的。解决方案中可以有许多不同的服务。您也可以在一台机器上安装多个服务。 – Oded 2012-02-21 17:19:26
@Oded所以我会做这样的例子 http://www.fredmastro.com/post/Call-your-Web-Service-from-your-Web-Application.aspx – 2012-02-21 17:31:15
这基本上是一个“批量工作”的要求,这就是我建议你接近它的方法。
客户端将使用网页,而不是执行的工作,而是管理正在执行工作的批处理作业列表。安排它们,启动或停止它们,查看它们的状态和当前输出等等。 (是的,就像他们这样做是在1970年的,但没有“// FOOBAR JOB(123456)” ......感谢上帝。
用户到该网页,并输入请求。背 - 主机上的服务进程(批处理作业管理器...)现在可以在一台计算机上启动作业;也许一次可以执行多个作业。用户可以同时注销网站并执行任何他喜欢的操作然后,他可以随时回来,回到任何可能的工作监控网页,看看事情进展如何。停止工作,暂停/恢复,你有什么,
还有批量作业监视工具的批次已经存在,适用于各种环境,包括免费和商业。所以,它不像你必须构建所有这些东西;你只需要确定什么现货包装最适合你和你的客户。
你能举个例子说明如何做到这一点?似乎它可能是我需要采取的路线。 – 2012-02-21 17:38:52
- 1. Web应用程序请求
- 2. 如何在Liferay中创建单独的Web应用程序?
- 3. UWP应用程序中的Web请求
- 4. 覆盖/创建Web应用程序的请求参数
- 5. 创建简单的Web应用程序?
- 6. 创建Web应用程序
- 7. 何时需要在应用程序中创建单独的进程?
- 8. 在Rails应用程序中为每个Passenger进程创建单独的日志
- 9. 区分应用程序处理程序中的Web API请求和MVC请求
- 10. 从Swing应用程序创建Web应用程序
- 11. 使用JWT通过独立应用程序进行刷新令牌请求 - 不是Web应用程序
- 12. 从控制台应用程序创建单独的窗口
- 13. Web应用程序请求过滤器
- 14. 剖析Web应用程序请求
- 15. asp.net web应用程序请求超时
- 16. 将Web应用程序请求日志记录到单独的文件
- 17. 从Web应用程序执行大量的Web服务请求。监视进度
- 18. 在现有的Web应用程序中创建一个API还是单独的?
- 19. 创建独立的Java应用程序
- 20. 为Ipad创建通用应用程序或单独的应用程序
- 21. 从Web应用程序启动进程
- 22. 独立Web应用程序
- 23. 创建一个单独的Excel进程
- 24. 在Android中创建Web应用程序
- 25. 在web应用程序中创建ListView
- 26. 用Java创建独立应用程序
- 27. 创建独立Web应用程序的环境
- 28. 在MVC3应用程序中创建单独的DAL项目
- 29. 可能在unity3d中创建单独的watchkit应用程序?
- 30. Html.RenderAction是否创建单独的请求?
@DmitryBoyko [编辑问题](http://stackoverflow.com/suggested-edits/206335)只是为了大胆的某些部分?真? – Basic 2012-02-21 17:23:07