HTTP-Clients erhalten Updates nach dem manuellen Abrufen von Informationen (Polling). HTTP verfügt nicht über eine automatisierte Methode, mit deren Hilfe Server HTTP-Clients über Ereignisse oder Änderungen informieren können. Zum Reduzieren von unnötiger Datenübertragung beim Polling bietet OData den Parameter $deltatoken. Mit diesem Parameter werden nur Objekte ausgegeben, die geändert oder hinzugefügt wurden.

Im Fall von VariableValueGroups werden mit dem Parameter $deltatoken aktualisierte Variablenwerte abgefragt. Werte, die sich seit dem letzten Abfragen nicht geändert haben, werden ausgelassen.

Der Vorgang läuft folgendermaßen ab:

Der HTTP-Client liest die Eigenschaft VariableValues einer Gruppe.

GET http://Mein_Server:3580/nivariable/VariableValueGroups('1587dcd4a87d118ae3ddd0fce09246f6')/VariableValues?$format=json

Der HTTP-Client erhält den anfänglichen Datensatz. Zum Abfragen der Delta-Änderung wird die folgende URI verwendet. Die URI wird von der Eigenschaft _delta vorgegeben und hat den Zeitstempel vom Abfragen des VariableValue als $deltatoken.

GET http://Mein_Server:3580/nivariable/VariableValueGroups('1587dcd4a87d118ae3ddd0fce09246f6')/VariableValues?$format=json&$deltatoken=1305692428170

Wenn seit dem letzten Abfragen keine Änderungen erfolgten, ist das Ergebnis leer. Zum erneuten Abfragen verwenden Sie die URI für Änderungen (Delta) der letzten Antwort.

GET http://Mein_Server:3580/nivariable/VariableValueGroups('1587dcd4a87d118ae3ddd0fce09246f6')/VariableValues?$format=json&$deltatoken=1305692428170

Hinweis Das Abfragen eines Delta-Werts, der sich nicht geändert hat, führt nicht zu einem Fehler beim HTTP-Client.

Abfragen von Variablen, die an externe I/O- oder andere Umgebungsvariablen gebunden sind, in festgelegten Intervallen

Wenn eine Umgebungsvariable an eine externe I/O- oder andere Umgebungsvariable gebunden ist, kann ein Update einen Zeitstempel haben, der älter ist als das Delta-Token. Das ist z. B. der Fall, wenn Sie eine Änderung zur Zeit t, abfragen und eine neue Wertänderung zur Zeit t+1 auftritt, aber den Zeitstempel t-1 hat. Beim nächsten Abfragen von Änderungen wird der Zeitstempel t-1 vom Server nicht mehr als neuer Wert betrachtet. Zum Vermeiden dieses Problems sollten Sie Variablenwerte in festgelegten Intervallen abfragen und nicht $delta verwenden.