27.2.1.3 Push Notification
As data changes, SignalR server will call the corresponding methods which need to be defined on the client side. These methods are:
ØtagDataHub:dispatchTagValues,dispatchRealTimeTagValues
ØwaDataHub:dispatchNodeStatus、dispatchNodeStatusForLid、dispatchDataLog、dispatchActLogValues、dispatchCompStatus
ØalarmDataHub:dispatchAlmLogValues、dispatchAlmSumValues
.NET
tagDataHubProxy.On<string, TagExecuteResult>("dispatchTagValues", (name, message) => dispatchTagValues(name, message));
tagDataHubProxy.On<string, RealtimeTagExecuteResult>("dispatchRealTimeTagValues", (name, message) => dispatchRealTimeTagValues(name, message));
waDataHubProxy.On<string, NodeStatusExecuteResult>("dispatchNodeStatus", (name, message) => dispatchNodeStatus(name, message));
waDataHubProxy.On<string, NodeStatusExecuteResult>("dispatchNodeStatusForLid", (name, message) => dispatchNodeStatusForLid(name, message));
waDataHubProxy.On<string, DataLogExecuteResult>("dispatchDataLog", (name, message) => dispatchDataLog(name, message));
waDataHubProxy.On<string, ActionLogExecuteResult>("dispatchActLogValues", (name, message) => dispatchActLogValues(name, message));
waDataHubProxy.On<string, StaStusExecuteResult>("dispatchCompStatus", (name, message) => dispatchCompStatus(name, message));
alarmDataHubProxy.On<string, AlarmLogExecuteResult>("dispatchAlmLogValues", (name, message) => dispatchAlmLogValues(name, message));
alarmDataHubProxy.On<string, AlarmSumExecuteResult>("dispatchAlmSumValues", (name, message) => dispatchAlmSumValues(name, message));
static void dispatchAlmLogValues(string lid, AlarmLogExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchAlmSumValues(string lid, AlarmSumExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchTagValues(string lid, TagExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchRealTimeTagValues(string lid, RealtimeTagExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchNodeStatus(string lid, NodeStatusExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchNodeStatusForLid(string lid, NodeStatusExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchDataLog(string lid, DataLogExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
static void dispatchActLogValues(string lid, ActionLogExecuteResult value)
{
string output = JsonConvert.SerializeObject(value);
Console.WriteLine(output);
}
JavaScript
tagDataHubProxy.client.dispatchTagValues = dispatchTagValues;
tagDataHubProxy.client.dispatchRealTimeTagValues = dispatchRealTimeTagValues;
waDataHubProxy.client.dispatchNodeStatus = dispatchNodeStatus;
waDataHubProxy.client.dispatchNodeStatusForLid = dispatchNodeStatusForLid;
waDataHubProxy.client.dispatchDataLog = dispatchDataLog;
waDataHubProxy.client.dispatchActLogValues = dispatchActLogValues;
waDataHubProxy.client.dispatchCompStatus = dispatchCompStatus;
alarmDataHubProxy.client.dispatchAlmLogValues = dispatchAlmLogValues;
alarmDataHubProxy.client.dispatchAlmSumValues = dispatchAlmSumValues;
dispatchTagValues = function (lid, result) {
console.log("get tag value");
};
dispatchRealTimeTagValues = function (lid, result) {
console.log("got realtime Value");
};
dispatchActLogValues = function (lid, result) {
console.log("got Action log");
};
dispatchAlmLogValues = function (lid, result) {
console.log("got Alarm log");
};
dispatchAlmSumValues = function (lid, result) {
console.log("got Alarm summary");
};
dispatchNodeStatus = function (result) {
console.log("Got node status");
};
dispatchNodeStatusForLid = function (lid, result) {
console.log("Got node status");
};
dispatchCompStatus = function (lid, result) {
console.log("Got Comport status");
};
dispatchDataLog = function (lid, result) {
console.log("Got data log");
};