【发布时间】:2014-10-07 19:16:04
【问题描述】:
我们的网站有一个长期运行的计算过程,让客户等待几分钟,直到完成。我们已经决定我们需要进行设计更改,并将处理外包给 Windows 或 WCF 服务,而在我们进行所有计算时,客户端会看到另一个页面。
但是,实现该服务的最佳方式是什么?
我们查看了后台工作进程,但看起来这些是有问题的,因为如果 IIS 可以定期关闭线程
似乎最好使用 Windows 服务或 WCF 服务。有没有人对此有更好的看法? 如果我们将服务托管在另一台机器上,它是否必须是 WCF 服务? 看起来很难让服务(无论它是什么类型)与网站进行通信 - 也许服务可以将其结果更新到数据库中,然后网站会轮询该数据库以获得所需的结果。
我知道这是一个开放式问题,但有人有什么想法吗?
谢谢
【问题讨论】:
-
hangfire.io 看起来很有希望——它本质上是一个轻量级的消息队列。我不确定您在 Windows 服务和 WCF 服务之间的区别。 Windows 服务可以承载 WCF 服务。或者,Windows 服务可以临时托管您想要的任何内容。