Oui tu remplaces Sentinelle_Name par le nom de la sentinelle mais du coup, tu reçois la valeur d’une seule sentinelle.
Peut être qu’en utilisant la wildcard, tu peux filtrer le résultat selon le nom de la sentinelle qui a publié le StateObject.
Si on reprend l’exemple de la documentation (en le modifiant un peu):
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My CPU load</title>
<script type="text/javascript" src="Scripts/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="Scripts/jquery.signalR-2.2.0.min.js"></script>
<script type="text/javascript" src="Scripts/Constellation.js"></script>
<script>
var constellation = $.signalR.createConstellationClient("http://localhost:8088", "MyAccessKey", "DemoJS");
constellation.client.onUpdateStateObject(function (message) {
if (message.SentinelName == "Sentinelle_Name") {
$("#cpu").text(message.Value.Value);
}
});
constellation.connection.stateChanged(function (change) {
if (change.newState === $.signalR.connectionState.connected) {
constellation.server.subscribeStateObjects("*", "HWMonitor", "/intelcpu/0/load/0", "*");
}
});
constellation.connection.start();
</script>
</head>
<body>
<p>CPU = <span id="cpu"></span> %</p>
</body>
</html>
La partie intéressante:
constellation.client.onUpdateStateObject(function (message) {
if (message.SentinelName == "Sentinelle_Name") {
$("#cpu").text(message.Value.Value);
}
});
constellation.connection.stateChanged(function (change) {
if (change.newState === $.signalR.connectionState.connected) {
constellation.server.subscribeStateObjects("*", "HWMonitor", "/intelcpu/0/load/0", "*");
}
});
Tu filtres avec l’attribut SentinelName.
A tester mais de ce fait, tu reçois tous les StateObject-s de toutes les sentinelles mais tu filtres après. Je ne sais pas si on peut filtrer avant (meilleurs perfs?).