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");

};