SignalR:如何将消息广播到应用程序的其他页面

SignalR : How can I broadcast message to Other page of the application

我正在创建一个测试应用程序,可以在其中下载一些文件,下载成功通知将传播给管理员,类似于 www.ge.tt,或 Facebook 中的面板通知。

我有两个页面

a)Download.aspx

b)LandingPage.aspx

Download.aspx

    function PushNotification() {
        alert("I ran Upto Here");
        //Declare a proxy to Reference a Hub
        var notification = $.connection.notificationHub;

        //Start a Connection
        $.connection.hub.start().done(function () {
            notification.server.send(21);
            //$("#hdnFileId").val()
            alert("I ran Upto Here 2 ");


        });
        notification.client.broadcastMessage = function (FileID) {

            alert("file was Downloaded" + FileID);
        };
    }

这里有两个不同的 tabs/browser 正常工作 如果页面加载,则显示 alert 消息。

但我想在 LandingPage.aspx

中使用广播消息

这是Js

$(function () {

var notification = $.connection.notificationHub;

    notification.client.broadcastMessage = function (FileID) {

    alert("file was Downloaded" + FileID);
};

});

还有我的 hubclass ..

namespace TestApplication.Entities
{
  public class NotificationHub : Hub
  {
    //public void Hello()
    //{
    //    Clients.All.hello();
    //}

    public void Send(int FileID)
    {
        Clients.All.broadcastMessage(FileID);
    }
}
}

但是这里没有通知,这里有什么问题吗?

您没有在 LandingPage.aspx

中开始连接

LandingPage.aspx

中这样尝试
var notification = $.connection.notificationHub;
$.connection.hub.start(); 
notification.client.broadcastMessage = function (FileID) {
   alert("file was Downloaded" + FileID);
};