Map service GetCacheName method

Gets the cache name for a given layer within a map (data frame).

GetCacheName(string MapName, int LayerID)




The name of the map (data frame) on which a cache was created.


The layer id of the layer in the map on which a cache was created. A multilayer cache can have one cache name for each layer. To get the name of a fused cache, specify a value of -1.

Return Value

A string containing the cache name for the layer specified. If working with a fused cache, the layer id is -1 and the cache name "_alllayers" will be returned.


To determine if you are working with a multilayer or fused cache, use the methods HasLayerCache or HasSingleFusedMapCache on the map service proxy. Note that a map service with a multilayer cache may have a cache generated on some layers and not others.



MapService_MapServer mapservice = new MapService_MapServer();

mapservice.Url = "http://localhost:6080/arcgis/services/MapService/MapServer";


string mapname = mapservice.GetDefaultMapName();


MapServerInfo mapinfo = mapservice.GetServerInfo(mapname);

MapDescription mapdesc = mapinfo.DefaultMapDescription;


LayerDescription[] layerdescriptions = mapdesc.LayerDescriptions;


foreach (LayerDescription layerdesc in layerdescriptions)


      style="font-size: 12pt;">if (mapservice.HasLayerCache(mapname, layerdesc.LayerID))


            string layercachename = mapservice.GetCacheName(mapname, layerdesc.LayerID);




Dim mapservice As MapService_MapServer = New MapService_MapServer()

mapservice.Url = "http://localhost:6080/arcgis/services/MapService/MapServer"


Dim mapname As String = mapservice.GetDefaultMapName()

Dim mapinfo As MapServerInfo = mapservice.GetServerInfo(mapname)

Dim mapdesc As MapDescription = mapinfo.DefaultMapDescription


Dim layerdescriptions() As LayerDescription = mapdesc.LayerDescriptions

Dim layerdesc As LayerDescription


For Each layerdesc In layerdescriptions


      If mapservice.HasLayerCache(mapname, layerdesc.LayerID) Then

            Dim layercachename As String = mapservice.GetCacheName(mapname, layerdesc.LayerID)

      End If


String serviceURL = "http://localhost:6080/arcgis/services/MapService/MapServer";

MapServerBindingStub mapService = new MapServerBindingStub(serviceURL);


String mapName = mapService.getDefaultMapName();

MapServerInfo mapInfo = mapService.getServerInfo(mapName);

MapDescription mapDesc = mapInfo.getDefaultMapDescription();


LayerDescription[] layerDescriptions = mapDesc.getLayerDescriptions();


for (LayerDescription layerDesc: layerDescriptions)


      if (mapService.hasLayerCache(mapName, layerDesc.getLayerID()))


            String layerCacheName = mapService.getCacheName(mapName, layerDesc.getLayerID());

            System.out.println("Layer Cache Name: " + layerCacheName);