AnsweredAssumed Answered

Why are map updates not reflected in .NET app when updated through ArcGIS server webmap viewer?

Question asked by X3r0byte on Oct 1, 2019
Latest reply on Oct 2, 2019 by X3r0byte

I am building a desktop app in C# .NET v100.6.0.0 Runtime SDK. It pulls in maps from various sources without issue. In particular, I am using an Arc GIS server on site which hosts a variety of maps that my company uses to work on. I have the desktop app successfully authenticating, saving, and publishing maps to the server without issue.


However, whenever the map is updated through the portal web UI (like <server>/portal/home/webmap/viewer.html?webmap=xxx), the changes are not reflected in the .NET environment. After logging the map JSON in .NET, I noticed that the data is different, including basemaps, layers, versions, etc. I believe this is either the reason or an effect of what my issue is.


How is it even possible that the map returns two different JSON files when using the SAME EXACT url? To reiterate my issue plainly:


  1. Save a map using .NET application to GIS server
  2. Open map in GIS server webviewer UI and edit something (basemap, feature, etc) and save it
  3. Reload the map in .NET application, no change <- problem
    1. If I make a change in .NET application and save it, the map updates in the GIS server viewer just fine


It is insanely frustrating to reference THE SAME url and get COMPLETELY different results back depending on where I'm referencing it from. I don't know how or why this happens, but it shouldn't even work that way in the first place.


To compound the issue, if I try another computer with the .NET app, it will grab the latest "version" of the map, whether it was made in .NET or webapp, and thereafter repeat the problem - it will not retrieve updates.


I am NOT caching anything. It behaves this way in both debug and production copies/modes. I have used every way I've found to create a map (constructors, portal.createasync, etc). It is a straightforward/vanilla install of the 100.x.x SDK. Nothing is databased. All code and variables are initialized on startup. I'm out of ideas.


Thank you for your time.