idempotentes Attribut
Das Attribut [idempotent] gibt an, dass ein Vorgang keine Zustandsinformationen ändert und bei jeder Ausführung dieselben Ergebnisse zurückgibt. Wenn Sie die Routine mehr als einmal ausführen, hat die gleiche Wirkung wie die einmalige Ausführung.
[
interface-attribute-list
]
interface interface-name
{
[idempotent [, attribute-list]] returntype function-name(params)
}
Parameter
-
interface-attribute-list
-
Gibt eine Liste von null oder mehr IDL-Attributen an, die für die Schnittstelle als Ganzes gelten. Wenn zwei oder mehr Schnittstellenattribute vorhanden sind, müssen sie durch Kommas getrennt werden.
-
Schnittstellenname
-
Gibt den Namen der Schnittstelle an.
-
attribut-list
-
Gibt zusätzliche Attribute an, die auf die Funktion angewendet werden sollen. Trennen Sie mehrere Attribute durch Kommas.
-
returntype
-
Gibt den Rückgabetyp der Funktion an.
-
Funktionsname
-
Gibt den Namen der Funktion an, auf die das Attribut [idempotent] angewendet wird.
-
params
-
Funktionsparameterliste.
Bemerkungen
RPC unterstützt zwei Arten von Remoteaufrufsemantik: Aufrufe von Vorgängen mit dem Attribut [idempotent] und Aufrufe von Vorgängen (idempotente Vorgänge) ohne das Attribut [idempotent] (nicht idempotente Vorgänge). Eine idempotente Operation kann mehr als einmal ohne Beeinträchtigung durchgeführt werden. Umgekehrt kann ein nicht idempotentes Vorgang nicht mehr als einmal ausgeführt werden, da er entweder jedes Mal unterschiedliche Ergebnisse zurückgibt oder weil er einen Zustand ändert.
Um sicherzustellen, dass eine Prozedur automatisch erneut ausgeführt wird, wenn der Aufruf nicht abgeschlossen wird, verwenden Sie das Attribut [idempotent]. Wenn die Attribute [idempotent], [broadcast] oder [vielleicht] nicht vorhanden sind, verwendet die Prozedur standardmäßig eine nicht idempotente Semantik. In diesem Fall wird der Vorgang nur einmal ausgeführt.
Siehe auch