在Asp.Net中创建“Heartbeat”或Windows-Service-Like功能

时间:2009-06-24 14:12:30

标签: asp.net heartbeat

我听说Jeff和Joel在播客上讨论了他们所谓的“Heartbeat”,其实质上是创建类似于在网站中运行Windows服务的行为。我希望能够更深入地了解如何实现这样的事情。有没有人之前实现过这样的东西,你用它做了什么?

谢谢!

5 个答案:

答案 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)

我们正在客户端和服务器之间实现类似的功能,因为我们有Windows窗体客户端和WCF服务充当服务器。

心跳的目的是从服务器端说“我还活着”。

点击此链接了解Heartbeat in WCF

的介绍