2012-06-23 56 views
7

我正在开发使用App Harbor的基于回合的游戏的后端服务器,因此它似乎完全适合我的需求。我真的想运行一个后台进程来处理转换数据等,我想知道是否有人可以澄清'网络工作者'和'背景工作者'之间的区别是什么?我对Web开发的体验相当有限,但据我所知,'Web工作人员'用于与AJAX页面交互(我不需要),'Background workers'允许您在后台运行控制台应用程序(我确实需要!)App Harbor上的'Web workers'和'Background workers'之间的区别

谢谢!

回答

5

Web工作人员与浏览器的请求连接,并可以在浏览器上获取和发送数据到请求。

后台工作人员是独立的线程,不与任何请求连接,不能单独发送数据到浏览器*。

[*]只能通过网络工作者。

4

通常'网络工作者'是web应用程序,或者是处理来自用户的请求的ASP.NET网站/服务。 “后台工作人员”只是一个计划任务。它在后台运行,按指定的时间间隔运行,并执行一些代码。

不同之处在于,Web工作人员在发出新的请求时会执行一些工作。请求意味着某人在ASP.NET上加载页面/调用Web服务。而后台工作人员正在某个时间间隔启动,并且不需要用户加载要执行的页面。它主要用于处理长时间运行的任务。通常的工作流程是 - 网络工作人员收到来自用户的请求,并排队处理一些数据。在下一次运行时,后台工作人员获取数据并对其进行处理,并将数据存储在某处(通常在数据库中)。然后,网络工作人员根据用户的下一个请求检查数据库以及结果是否存在 - 将其显示给用户。

这样用户不需要等待asp.net页面来处理数据并立即返回结果。