Did you have to do anything special with Caching? I got the code all set up to follow your approach and checked that the layer is being removed from the layer collection, and the map control is re-loading the layer when I remove it and re-add it, but it never succeeds in initializing. To test it, I am turning off the service and refreshing my REST cache on my server, then I load the Silverlight app which indicates the layer fails to initialize, then I start the service and refresh the REST cache again, then I fire the event to remove and re-add the layer.
Seems like the silverlight client is caching the REST state of the service and not re-querying it. If I try this in reverse (run the Silverlight app while the service is running, then turn off the service) the Silverlight app continues to display the now dead service data even if I completely re-load the page that the SL app is on. If I close the browser and open an new browser window, then it figures out that the service isn't running any more.
So how can I tell the map control to clear it's local cache data when I'm trying to dynamically re-add a service?
Thx
John H.