2011-07-24 2 views
0

que je suis cet exemple pour les bibliothèques ADFservice de géotraitement - mémoire vide après avoir appelé

http://edndoc.esri.com/arcobjects/9.2/NET_Server_Doc/developer/samples/Web_Applications/ArcGIS_Buffer_Geoprocessing/ee05ac98-384b-4dbe-b8e3-8d741180dc9a.htm

Je dessine pratiquement un cercle autour d'un point avec un service de géotraitement. Le rayon est d'environ 20 km.

Le code fonctionne correctement, mais la routine "Clear" ne l'est pas. Chaque fois que j'effacer la carte de données précédentes, la mémoire du service tampon ne soit pas effacé trop et je reçois ce

enter image description here

Le code de la routine « Effacer » est le même de l'échantillon, mais ne fonctionne pas:

// Clears features from all graphics layers in the resource specified by _graphicsResourceName 
protected void ClearGraphics() 
{ 
    // Retrieve the resource and clear its graphics dataset 
    ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource graphicsMapResource = 
     Map1.GetFunctionality(_graphicsResourceName).Resource as 
     ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource; 
    graphicsMapResource.Graphics.Clear(); 

// This won't work too 
GeoprocessingResourceManager1.GetResource(0).ClearState(); 

// Refresh the resource and copy the map's callback results to the callback results collection so 
// the graphics are removed from the map 
Map1.RefreshResource(graphicsMapResource.Name); 
_callbackResultCollection.CopyFrom(Map1.CallbackResults); 
} 

cela devrait être simple mais je ne peux pas comprendre comment résoudre ce .. la seule solution que je trouve est de redémarrer le serveur IIS qui est évidemment très mauvaise

Quelqu'un peut-il m'aider s'il vous plaît?

+0

Pouvez-vous montrer le code utilisé pour dessiner les cercles? (à peu près) – Groo

+0

Voici le code: http://nopaste.info/0c123fa03e.html Recherchez le /////////////////////// ///////////// parties commentées pour avoir une explication approximative sur ce qui se passe –

+0

Désolé, je n'étais pas assez clair, je voulais dire le code où les cercles sont ajoutés à la collection. Vous utilisez la méthode 'renderer.GetAllSymbols' pour obtenir une liste d'éléments. Il doit y avoir un endroit où ces symboles sont créés et ajoutés à une collection? Je n'ai pas utilisé cette API, mais c'est là que je chercherais. – Groo

Répondre

0

Résolu en décochant la file d'attente de travaux

0

J'utilise habituellement GraphicsLayerFunctionality.GraphicsDataSet.Tables.Clear();

ou

ESRI.ArcGIS.ADF.Web.DataSources.Graphics.MapResource myMapResource myMapResource.Graphics.Tables.Remove (élément graphique);

Vous avez réellement affaire à un .NET DataSet

Questions connexes