Wie erfahren Business Connectivity Services-Lösungen von Löschvorgängen in der externen Datenquelle?
Letzte Änderung: Donnerstag, 15. April 2010
Gilt für: SharePoint Server 2010
Der Client erfährt von Löschvorgängen, wenn der Onlinebetriebsmodus beim Ausführen der Methodeninstanzaufrufe verwendet wird und eine Ausnahme vom Typ ObjectNotFoundException oder ObjectDeletedException empfangen wird. Bei Verwendung des Cachemodus gibt es jedoch für die Clientanwendung keine Möglichkeit, vorher zu wissen, dass eine oder mehrere Entitätsinstanzen in der externen Anwendung durch einen anderen Benutzer oder eine andere Anwendung gelöscht wurden.
Während der Cacheaktualisierung versucht der Synchronisierungsprozess, alle Abfragen auszuführen. Wenn alle Abfragen für ein Abonnement erfolgreich ausgeführt wurden und das Aktualisierungsintervall des Abonnements abgelaufen ist, werden alle Entitätsinstanzen gelöscht, die von keiner der Abfragen zurückgegeben wurden, da dies bedeutet, dass sie in der externen Anwendung nicht mehr vorhanden sind.
Wenn der Synchronisierungsprozess einen Vorgang in der Warteschlange ausführt und für einen Aufruf von SpecificFinder eine Ausnahme vom Typ ObjectNotFoundException oder ObjectDeletedException gemeldet wird, bedeutet dies, dass diese Entitätsinstanz von einem anderen Benutzer oder einer anderen Anwendung in der externen Anwendung gelöscht wurde. In diesem Fall wird die Warteschlange vom Synchronisierungsprozess auf ausstehende Vorgänge in dieser Entitätsinstanz überprüft. Falls keine ausstehenden Vorgänge vorhanden sind, wird die Entitätsinstanz als gelöscht gekennzeichnet. Falls nur eine ausstehender Löschvorgang vorhanden ist, wird der Vorgang als erfolgreich und die Instanz als gelöscht gekennzeichnet. Falls andere ausstehende Vorgänge vorhanden sind, werden die Vorgänge als fehlgeschlagen und die Entitätsinstanz als fehlerhaft gekennzeichnet.