【问题标题】:How do implement a SignalR heartbeat/ping betweeen ASP.NET and Windows Server service?如何在 ASP.NET 和 Windows Server 服务之间实现 SignalR 心跳/ping?
【发布时间】:2014-10-16 02:27:46
【问题描述】:

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

public void Beat(
    TimeSpan timeElapsed
)

【问题讨论】:

  • 没有示例,因为它不适合您。这是一个实现细节。我们将保持活动从服务器发送到客户端。

标签: asp.net wcf signalr


【解决方案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>

在您的 ASP.NET 应用程序中使用 JavaScript 使用 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();
           });
        });
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多