编写支持轮询的应用程序的最佳方法

时间:2010-08-24 03:29:15

标签: c# asp.net

我正在尝试构建一个基本应用程序,它将包含两个独立的组件:   1.继续轮询外部流程并将结果存储在数据库中   2.从数据库中抓取结果并将其显示在网页中

我希望在.Net中这样做,所以我通常会说在Windows服务中执行第一个组件,在ASP.net中使用关系dbms(如sql server)执行第二个组件。

这个问题是我想使用虚拟主机进行部署,而且他们不倾向于允许Windows服务(除非你付出了巨额财富)。那么在单独的asp.net页面中执行轮询组件是否可行,或者可以在单个asp.net页面中创建一个产生工作线程来为我进行轮询?

任何意见/投入表示赞赏 谢谢:))

4 个答案:

答案 0 :(得分:0)

你可以在ASP.NET下设置一个静态方法设置一个轮询线程,所以是的。

答案 1 :(得分:0)

SO是信息的宝库,ASP.Net background task来自于测试期间提出的问题。因此,实际上使用与此类似的东西来颁发徽章。

我个人用它来做你正在说的话。

答案 2 :(得分:0)

考虑一下处理Easy Background Tasks in ASP.NET的博文。评论中的一些建议,经验教训等。我想我记得一个播客网站的规模迫使这个代码移动到Windows服务。您可能/不具有相同的缩放需求。

答案 3 :(得分:0)

在哪里/什么是外部流程?

如果您对此有任何控制权,您是否可以将服务放在那里?

ASP基本上是针对请求而设计的,不是针对长时间运行的流程,你可能会得到一些工作,但它永远不会像为工作设计的那样强大。