idempotent-Attribut
Das [ idempotente ] Attribut gibt an, dass ein Vorgang keine Zustandsinformationen ändert, und gibt bei jeder Durchführung die gleichen Ergebnisse zurück. Das mehrfache Ausführen der Routine hat die gleiche Auswirkung wie eine 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 gesamte Schnittstelle gelten. Wenn zwei oder mehr Schnittstellenattribute vorhanden sind, müssen sie durch Kommas getrennt werden.
-
Schnittstellenname
-
Gibt den Namen der Schnittstelle an.
-
Attributliste
-
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 [ idempotente ] Attribut angewendet wird.
-
params
-
Funktionsparameterliste.
Bemerkungen
RPC unterstützt zwei Arten von Remoteaufrufsemantik: Aufrufe von Vorgängen mit dem [ idempotenten ] Attribut und Aufrufe von Vorgängen (idempotente Vorgänge) ohne das [ idempotente ] Attribut (nicht idempotente Vorgänge). Ein idempotenter Vorgang kann mehr als einmal ohne fehlwirkende Auswirkungen ausgeführt werden. Umgekehrt kann ein nicht idempotenter Vorgang nicht mehr als einmal ausgeführt werden, da er entweder jedes Mal unterschiedliche Ergebnisse zurückgibt oder weil er einen Zustand ändert.
Verwenden Sie das [ idempotente ] Attribut, um sicherzustellen, dass eine Prozedur automatisch erneut ausgeführt wird, wenn der Aufruf nicht abgeschlossen ist. Wenn die [ Attribute ] idempotent, [ broadcast ] oder [ maybe nicht vorhanden ] sind, verwendet die Prozedur standardmäßig nicht idempotente Semantik. In diesem Fall wird der Vorgang nur einmal ausgeführt.