I have a map service in which there is a polyline layer joined to an SQL table. The table is pulled into ArcMap from a database connection. ArcMap sees this table just like any other spatial table and the table join is successful. The map publishes successfully. In my Silverlight app I have defined a unique value renderer that's based on a field in the joined SQL table. The renderer works and, at least at first, my polylines are correctly symbolized in the Silverlight app based upon the field in the joined SQL table.
The problem occurs when I update or insert rows in the joined SQL table. For instance, an update might alter an existing row in the table that should then change the symbology of a polyline. The table update is successful but the polyline doesn't change in the Silverlight app. I checked that the update was reflected in the MXD and it is. So I know the updates and inserts are happening successfully in the SQL table, and I can see the resulting symbology changes in the MXD, but those changes do not carry into the Silverlight app.
I tried several things, such as refreshing the service from within my Silverlight codebehind. I also tried the Update method on the map service. Neither worked. The only thing that did work was to republish the entire service. After republishing the next time I fired up the Silverlight app all the of the updates and inserts were reflected in the map's symbology. This is obviously not a solution though. I can't have my users waiting for a map service to republished between every single update they make, not that there is even a way to republish on the fly from within a Silverlight app anyway.
Is there a method I can call on the map service in Silverlight that would have the same affect as republishing but not take as long?
Thanks for your help.