我正在尝试构建一个基本应用程序,它将包含两个独立的组件: 1.继续轮询外部流程并将结果存储在数据库中 2.从数据库中抓取结果并将其显示在网页中
我希望在.Net中这样做,所以我通常会说在Windows服务中执行第一个组件,在ASP.net中使用关系dbms(如sql server)执行第二个组件。
这个问题是我想使用虚拟主机进行部署,而且他们不倾向于允许Windows服务(除非你付出了巨额财富)。那么在单独的asp.net页面中执行轮询组件是否可行,或者可以在单个asp.net页面中创建一个产生工作线程来为我进行轮询?
任何意见/投入表示赞赏 谢谢:))
答案 0 :(得分:0)
你可以在ASP.NET下设置一个静态方法设置一个轮询线程,所以是的。
答案 1 :(得分:0)
SO是信息的宝库,ASP.Net background task来自于测试期间提出的问题。因此,实际上使用与此类似的东西来颁发徽章。
我个人用它来做你正在说的话。
答案 2 :(得分:0)
考虑一下处理Easy Background Tasks in ASP.NET的博文。评论中的一些建议,经验教训等。我想我记得一个播客网站的规模迫使这个代码移动到Windows服务。您可能/不具有相同的缩放需求。
答案 3 :(得分:0)
在哪里/什么是外部流程?
如果您对此有任何控制权,您是否可以将服务放在那里?
ASP基本上是针对请求而设计的,不是针对长时间运行的流程,你可能会得到一些工作,但它永远不会像为工作设计的那样强大。