如何在ASP.NET和Windows Server服务之间实现SignalR心跳/ ping?

时间:2014-03-24 16:38:12

标签: asp.net wcf signalr

我需要从ASP.NET管理页面到Windows服务服务实现心跳或ping /测试。如何实现SignalR ping功能? SingalR有一个HeartbeatMonitor类,没有如何使用它的例子:

public void Beat(
    TimeSpan timeElapsed
)

1 个答案:

答案 0 :(得分:1)

在服务器上添加以下集线器:

    public class HeartBeatHub: Hub
    {
        public void Heartbeat()
        {
            Clients.All.heartbeat();
        }
    }

将此添加到您的HTML:

    <div>
        <div id="hearbeat"></div>
        <input type="button" id="sendHeartBeat" value="Send HB" />
    </div>

在JavaScript中使用ASP.NET应用程序消耗并使用SignalR心跳:

    $(function () {

        var hearbeat = $.connection.heartBeatHub;

        //Listen for hearbeats from the server
        hearbeat.client.heartbeat = function () {
            var hbeatName = $('<div />').text('Hearbeat Received').html();
            $('#hearbeat').append(hbeatName);
            alert("heartbeat!");
        };

        //Call the server and request a hearbeat
        $.connection.hub.start().done(function () {
          $('#sendHeartBeat').click(function () {
                hearbeat.server.heartbeat();
           });
        });
    });