代码只是我的理解,可能有错误,仅供新手参考,不保证正确性。
逻辑梳理:数据库数据如发生变化,通过dependency_OnChange事件监听到,监听之后执行Show()方法,给所有连接SignalR的客户端发送通知(displayDatas),页面收到通知,执行getdata()方法,重新获取数据。
1.新建项目
2.右击项目,管理NuGet程序包,搜索SignalR 下载第一个
3.添加hub.js
(function ($, window, undefined) {
"use strict";
if (typeof ($.signalR) !== "function") {
throw new Error("SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js.");
}
var signalR = $.signalR;
function makeProxyCallback(hub, callback) {
return function () {
callback.apply(hub, $.makeArray(arguments));
};
}
function registerHubProxies(instance, shouldSubscribe) {
var key, hub, memberKey, memberValue, subscriptionMethod;
for (key in instance) {
if (instance.hasOwnProperty(key)) {
hub = instance[key];
if (!(hub.hubName)) {
continue;
}
if (shouldSubscribe) {
subscriptionMethod = hub.on;
} else {
subscriptionMethod = hub.off;
}
for (memberKey in hub.client) {
if (hub.client.hasOwnProperty(memberKey)) {
memberValue = hub.client[memberKey];
if (!$.isFunction(memberValue)) {
continue;
}