Share via


Wie wird der Business Connectivity Services-Clientcache gefüllt?

Letzte Änderung: Montag, 2. November 2009

Gilt für: SharePoint Server 2010

Im Cache werden die Identitäten und die Instanzdaten an separaten Orten gespeichert. Die Bezeichner für alle Entitätsinstanzen, die zu allen Abonnements gehören, die für den Benutzer auf dem Client installiert sind, werden an einem zentralen Ort gespeichert. Die Entitätsinstanzdaten für jede Entität in einem Abonnement wie ID, Name, Adresse usw. werden an einem separaten Ort gespeichert. Wenn der Benutzer beispielsweise zwei Abonnements besitzt, "Kunde" und "Konten", von denen jede 10 Entitätsinstanzen besitzt, dann werden alle 20 Bezeichner an einem Ort im Cache zentral gespeichert. Die zu dem Abonnement gehörenden Kundendaten wie ID, Name und Adresse werden an einem separaten Ort gespeichert. Die Kontodaten werden wiederum an einem anderen Ort im Cache gespeichert. Wenn der Benutzer das Abonnement ändert und eine Abfrage hinzufügt, die fünf der 10 Kundenentitätsinstanzen zurückgibt, die von der ersten Abfrage in dem Abonnement verwendet wurden, dupliziert der Cache die Daten für die Entitätsinstanzen nicht erneut.

Um den Cache für das Abonnement zu füllen, führt der BCS-Synchronisierungsprozess mehrere Aufrufe der externen Anwendung aus. Für jede in dem Abonnement definierte Abfrage wird ein Finder-Aufruf der externen Anwendung ausgeführt. Wenn der Finder die vollständige Ansicht zurückgibt, werden keine weiteren Aufrufe mehr ausgeführt, und der Cache wird mit den Daten einer jeden Entitätsinstanz gefüllt. Wenn der Finder jedoch nicht die vollständige Ansicht zurückgibt, wird der Cache mit den IDs aus dem Finder gefüllt. Wenn eine der IDs im Cache bereits vorhanden ist, wird diese nicht dupliziert. In diesem Fall wird für jeden vom Finder zurückgegebenen Bezeichner ein SpecificFinder-Aufruf ausgeführt, um die von der Abfrage zurückgegebenen Felder abzurufen.

Anschließend werden so viele SpecificFinder-Aufrufe ausgeführt, wie explizite Identitäten in dem Abonnement vorhanden sind, und der Cache wird mit den Entitätsinstanzen gefüllt, die von der Methodeninstanz zurückgegeben werden. Abschließend wird der Cache mit den zugehörigen Entitätsinstanzen gefüllt, wenn aktivierte Zuordnungen in dem Abonnement vorhanden sind. Zu diesem Zweck werden so viele Associate-Methoden-Instanzaufrufe ausgeführt, wie im Cache Entitätsinstanzen für dieses Abonnement vorhanden sind. Diese geben die IDs der zugehörigen Entitätsinstanzen zurück. Anschließend wird der SpecificFinder für jede der zurückgegebenen IDs aufgerufen, um die anderen Felder abzurufen.

Wichtiger HinweisWichtig

Sie sollten die Erstellung von zwei Abonnements in Erwägung ziehen, eines für "Kunden" und ein weiteres für "Bestellungen", anstatt Abonnementzuordnungen zu verwenden. Dies führt zu einer geringeren Anzahl von Aufrufen der externen Anwendung und erhöht den Durchsatz der Anwendung.