我听说Jeff和Joel在播客上讨论了他们所谓的“Heartbeat”,其实质上是创建类似于在网站中运行Windows服务的行为。我希望能够更深入地了解如何实现这样的事情。有没有人之前实现过这样的东西,你用它做了什么?
谢谢!
答案 0 :(得分:3)
我在各个地方找到了答案。我采用了Jeff Attwood为stackoverlow here以及Code Project article所做的工作,并制作了一些完全可重用且能够使用IoC工具轻松连接的东西。我已发布完整详情here
答案 1 :(得分:0)
基本上,您使用网页启动流程......但是您可以限制流程运行的频率。
这样的事情:
TimeSpan timeSinceLastRun = DateTime.Now.Subtract(lastRunTime);
if(timeSinceLastRun > interval) {
RunCustomProcess();
lastRunTime = DateTime.Now;
}
通过这种方式,您只需要确保偶尔有人(或某个程序)访问该页面。多次点击页面不会对您的过程产生负面影响..
答案 2 :(得分:0)
本规范项目文章:Simulate a Windows Service using ASP.NET to run scheduled jobs,解释了所有内容。
答案 3 :(得分:0)
您可以使用ASP.NET运行状况监控并将某些内容连接到WebHeartbeatEvent。
答案 4 :(得分:-1)