【发布时间】:2014-08-23 04:33:03
【问题描述】:
对于长时间运行的任务,依赖于 Windows 服务中托管的 WCF 服务库是一种好方法吗?
这些长时间运行的任务是从网站启动的。多个用户可以登录网站并可以启动任务。但是会启动这么多长时间运行的任务实例。这是机器的开销吗?这会导致任何性能问题吗?
谢谢。
【问题讨论】:
-
除非您在单独的线程上发送请求,否则您很可能会在等待响应时占用客户端应用程序。我建议您重新审视您的设计理念并查看不同的选项 - 可能是发布订阅模型,其中客户端将启动长时间运行的任务,然后执行其余职责,并且该服务可以在任务完成时通知客户端.假设客户甚至关心。
-
客户端将启动长时间运行的任务,然后执行其余的职责,当任务完成时服务可以通知客户端......是的,这就是我需要的。但是用上述方法可以吗?
-
是的。 Google WCF 发布订阅。
-
即使用户从网站注销,我是否可以使用 Windows 服务中托管的这种 WCF 方法,但后台工作仍将继续?
-
如果客户端断开连接应该不会影响 WCF 服务启动的操作。完成后客户端不会收到通知,但不会导致操作在服务器端中止。
标签: wcf windows-services long-running-processes