trying to refresh layers sperately in the tile source


I have two images providers: Vector and Rasters. The vector layer is a dynamic layer so it needs to be refreshed, while the raster layer is constant. I inherited from BaseTileSource and override the GetTileLayers method which generates two urls for each provider.
I tried to use InvalidateTileLayer function of the BaseTileSource to refresh only the vector by sending only the needed tileLayer(the last parameter). Unfortunately, it ignores the layer and refreshing all the layers of the source in tile .
Is there a way to make it work?