Skip To Content

Verbessern der Darstellungs-Performance von Kartenservices

Wenn Clients Anforderungen an den ArcGIS Server senden, um einen Kartenservice anzuzeigen, wird die Antwort vom Server normalerweise vom Browser gecacht und für einen bestimmten Zeitraum wiederverwendet. Dieses Verhalten unterstützt den ArcGIS Server-Server dabei, die beste Darstellungs-Performance für einen Kartenservice zu erzielen. Abhängig davon, wie der Kartenservice und die ihm zugeordneten Daten in Anwendungen verwendet werden, können Sie die Länge des Zeitraums anpassen, den der Browser eine Antwort aus seinem Cache verwendet. Dazu fügen Sie die Eigenschaft cacheControlMaxAge in die JavaScript Object Notation (JSON) des Service ein.

Hinweis:

Die auf dieser Hilfeseite beschriebenen Einstellungen gelten für Kartenservices. Weitere Informationen zum Konfigurieren der Eigenschaft cacheControlMaxAge für einen Feature-Service finden Sie unter Feature-Services und Client-Anwendungen.

Verwendung der cacheControlMaxAge-Eigenschaft

ArcGIS Server-Kartenservice-Antworten enthalten ein Entitätstag (ETag) und einen Cache-Control-Header. Der ETag-Header-Wert ist eine eindeutige Kennung der Antwort. Der Cache-Control-Header verfügt über einen max-age-Wert, der Informationen zum Browser bezüglich des maximalen Zeitraums, den eine Antwort aus dem Browser-Cache wiederverwendet werden kann. Dieser Wert wird von der Eigenschaft cacheControlMaxAge festgelegt.

Wenn eine Anforderung wiederholt wird und das maximale Alter des Cache nicht überschritten wurde, verwendet der Browser die gecachte Antwort, ohne die Anforderung an den Server zu senden. Wenn das maximale Alter überschritten wurde, muss der Browser die Anforderung an den Server senden und einen IF-NONE-MATCH-Header mit zugeordnetem ETag-Wert festlegen, der der Antwort im Cache entspricht. ArcGIS Server wertet die Anforderung aus und bestimmt anhand des ETag-Wertes, ob sich die Antwort geändert hat Wenn sich die Antwort vom Server von der Kopie im Browser unterscheidet, sendet der Server eine neue Antwort an den Browser. Wenn die Antwort mit der Kopie im Browser identisch ist, benachrichtigt der Server den Browser, dass die Antwort im Cache weiter verwendet werden soll.

Definieren des Wertes der cacheControlMaxAge-Eigenschaft

Als ArcGIS Server-Administrator können Sie die cacheControlMaxAge-Eigenschaft definieren, um anzugeben, wie lange ein Browser eine gecachte Antwort verwenden darf. Da ArcGIS Server nicht immer eine vollständige Antwort senden muss, kann der Browser-Cache effizienter verwendet werden, Ihre Anwendungen werden optimiert, und es wird Netzwerkbandbreite gespart.

Der Standardwert für Kartenservices ist 0. Demzufolge sendet der Browser eine Anforderung immer erneut, und ArcGIS Server verarbeitet die Anforderung und sendet eine vollständige Antwort an den Browser, wenn sich der Inhalt geändert hat. Dieser Wert eignet sich für die meisten Anwendungen.

Für Kartenservices mit regelmäßig wechselnden Datasets oder regelmäßig wechselnder Symbolisierung empfiehlt sich ein Wert von etwa 5 Minuten (300 Sekunden). In Anwendungen mit Animationen oder zeitbezogenen Daten sollten Sie den Wert hochsetzen, um eine reibungslosere Animation in der Anwendung zu ermöglichen.

Gehen Sie wie folgt vor, um die Eigenschaft cacheControlMaxAge zu einem Kartenservice hinzuzufügen und ihren Standardwert anzugeben:

  1. Öffnen Sie in einem Webbrowser das ArcGIS Server-Administratorverzeichnis, und melden Sie sich als Benutzer an, dem Administratorberechtigungen zugewiesen sind.

    Die URL hat das Format http://gisserver.domain.com:6080/arcgis/admin.

  2. Klicken Sie auf Services, und wählen Sie den Kartenservice, den Sie ändern möchten, aus der Liste Services aus.

    Wenn Sie den Service nicht in der Liste sehen, befindet er sich möglicherweise in einem Unterverzeichnis des Stammordners.

  3. Scrollen Sie auf der Seite Service - <Service-Name> (<service type>) bis zum unteren Rand, und klicken Sie auf edit.
  4. Suchen Sie im Dialogfeld Service-Eigenschaften den Abschnitt "properties" des Service-JSON.
  5. Fügen Sie dem Abschnitt die Eigenschaft cacheControlMaxAge hinzu, und geben Sie den Wert (in Sekunden) an.

    In diesem Beispiel ist die Eigenschaft, cacheControlMaxAge auf 300 Sekunden festgelegt.

    "properties": {
      "cacheControlMaxAge": "300",
  6. Klicken Sie auf Änderungen speichern.

Stellen Sie auf der Seite Service - <Service-Name> (<Service-Typ>) sicher, dass die cacheControlMaxAge-Eigenschaft und der Wert, den Sie dafür angegeben haben, im Abschnitt Eigenschaften angezeigt wird.