Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Auf einem Multithread- und Multiuser-System wie Power Apps treten Vorgänge und Datenänderungen häufig parallel auf. Ein Problem tritt auf, wenn zwei oder mehr Aktualisierungs- oder Löschvorgänge auf demselben Datenabschnitt gleichzeitig auftreten. Diese Situation könnte zu Datenverlust führen. Die Funktion für optimistische Parallelität ermöglicht es Ihren Anwendungen, zu erkennen, ob ein Tabellendatensatz auf dem Server in der Zeit zwischen dem Abrufen des Datensatzes durch Ihre Anwendung und dem Versuch, ihn zu aktualisieren oder zu löschen, geändert wurde.
Optimistische Parallelität wird bei allen standardmäßigen Tabellen, die für die Offline-Synchronisierung aktiviert sind, und bei allen angepassten Tabellen unterstützt. Sie können ermitteln, ob eine Tabelle optimistische Parallelität unterstützt, indem Sie die Metadaten der Tabelle mithilfe von Code abrufen oder die Metadaten mithilfe des Metadatenbrowsers anzeigen und überprüfen, ob die Spalte IsOptimisticConcurrencyEnabled auf festgelegt trueist. Bei benutzerdefinierten Tabellen ist die Eigenschaft standardmäßig auf true festgelegt.
Optimistische Parallelität aktivieren
Sie können ein optimistisches Parallelitätsüberprüfungsverhalten aktivieren, wenn Sie eine UpdateRequest Aktion ausführen, indem Sie die ConcurrencyBehavior Eigenschaft der Anforderung auf IfRowVersionMatchesfestlegen. Ebenso würden Sie für ein DeleteRequestObjekt die ConcurrencyBehavior Eigenschaft festlegen.
Wenn Sie das SDK im .NET-Kontext verwenden, um Datenänderungen vorzunehmen, setzen Sie ConcurrencyBehavior auf das OrganizationServiceContext-Objekt. Dieser Wert wird an alle vom OrganizationServiceContext verwendeten UpdateRequest- und DeleteRequest-Nachrichten übergeben, wenn SaveChanges() sie aufgerufen werden.
Sie können ein optimistisches Parallelitätsverhalten nur über einen SDK-API-Aufruf festlegen. Es gibt derzeit keine Einstellung dafür in Form der Webanwendung.
Anwenden optimistischer Parallelität mithilfe der Web-API
Informationen zur Verwendung der Web-API zum Anwenden optimistischer Parallelität finden Sie unter "Optimistische Parallelität anwenden".
Anwendung der optimistischen Parallelität mithilfe des SDK für .NET
Informationen zum Verwenden des SDK für .NET, um optimistische Parallelität anzuwenden, finden Sie unter "Optimistisches Parallelitätsverhalten".
Verarbeiten von Ausnahmen
Wenn Sie optimistische Parallelität verwenden, kann der Webdienstaufruf mehrere Fehlerbedingungen in einer Fehler ausnahme <OrganizationServiceFault>zurückgeben.
ConcurrencyVersionMismatch (code=-2147088254)
Dieser Fehler wird angezeigt, wenn Sie eine Zeilenversion angeben und das IfVersionMatches-Verhalten angeben, die Version des vorhandenen Datensatzes stimmt jedoch nicht mit der Zeilenversion in Ihrer Anforderung überein.
ConcurrencyVersionNotProvided (Code= -2147088253)
Dieser Fehler wird angezeigt, wenn Sie das IfVersionMatches-Verhalten angeben, aber keinen Wert für die Zeilenversion angeben.
OptimisticConcurrencyNotEnabled (code=-2147088243)
Dieser Fehler wird angezeigt, wenn Sie das IfVersionMatches-Verhalten für eine Aktualisierung einer Tabelle angeben, aber die optimistische Parallelität ist nicht aktiviert.
Überprüfen Sie die Code-Eigenschaft des zurückgegebenen Fehlers, um festzustellen, ob der Fehler mit optimistischer Parallelität verbunden ist. Die Codes für diese Fehlerbedingungen stammen aus dem
ErrorCodes.csHilfscode.