【发布时间】:2009-06-23 10:21:32
【问题描述】:
我正在构建一个 ASP.NET 网站,该网站将从用户那里收集数据并将其提交给第 3 方网络服务。网络服务有些不可靠,因此有一个备份服务。
如果对主要服务的调用失败(超时或其他错误),那么我需要在静态类中稍微翻转一下,这将使系统跳闸以使用辅助服务。
此时,我需要开始轮询主服务(使用虚拟数据)以查看它是否已备份(此时我将收到一个 OK 代码作为回报)。在这一点上,我需要将位翻转,以便网站再次开始使用主服务。
我已经阅读了这个Should I use a Windows Service or an ASP.NET Background Thread?,我认为将代码分离到 Windows 服务中将是执行轮询的最干净的方法,但是我将如何与 Web 应用程序进行通信。
我的一个想法是公开一个 Web 服务,Windows 服务可以使用该 Web 服务与 Web 应用程序进行通信,但这看起来既混乱又过度。
感谢您在执行类似任务时的想法和经验。
谢谢
【问题讨论】:
标签: asp.net web-services multithreading windows-services polling