我正在使用App Harbor开发用于回合制游戏的后端服务器,到目前为止它似乎非常适合我的需求。我真的想运行一个后台流程来处理转弯数据等,我想知道是否有人可以澄清“网络工作者”和“背景工作者”之间的区别是什么?我对Web开发的实验相当有限,但据我所知,'Web worker'用于与AJAX页面交互(我不需要),'后台工作者'允许您在后台运行控制台应用程序(我确实需要!)
谢谢!
答案 0 :(得分:5)
网络工作者与来自浏览器的请求相关联,可以在浏览器上获取并向请求发送数据。
后台工作程序是与任何请求无关的独立线程,无法单独向浏览器发送数据*。
[*]只能通过网络工作者。
答案 1 :(得分:4)
通常,“Web worker”是Web应用程序,或处理来自用户请求的ASP.NET站点/服务。 '后台工作者'只是一个预定的任务。它在后台以指定的时间间隔运行,并执行一些代码。
不同之处在于,当新请求到达应用程序时,Web worker会执行某些操作。请求表示有人在ASP.NET上加载页面/调用Web服务。虽然后台工作程序正在某个时间间隔启动,并且不需要用户加载要执行的页面。它主要用于处理长时间运行的任务。通常的工作流程是 - Web工作者接收来自用户的请求,并将一些数据排队以进行处理。在下一次运行时,后台工作程序获取数据并对其进行处理,并将数据存储在某处(通常在数据库中)。然后,Web工作者在用户的下一个请求中检查数据库以及结果是否存在 - 将其显示给用户。
这样用户无需等待asp.net页面处理数据并立即返回结果。