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);
};
我正在创建一个测试应用程序,可以在其中下载一些文件,下载成功通知将传播给管理员,类似于 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);
};