I am using language files (Resources/LanguageFiles) to manage some content. I built a tool to clear cache. When I clear, it takes the ISynchronizedObjectInstanceCache and removes everything. When I did this, I lost my LanguageFile content - on the front end. Labels were missing etc... The only way I could force a refresh of this was to restart the AppPool.
Aside from the obvious (Dont clear the cache that way again) is it possible to force EPiServer to retrieve this content from the Xml files?
are you changing content of the xml files after site has been started?
As per my knowledge, Episerver CMS is read the file when the application is initialized so everything that in the file at that time it will read those changes but if you are updating the file after the initialization then you need to restart the IIS or AppPool.
Yes, I am changing the contents (At least during development). Once it goes live, maybe less often.
Then I think you don't need to worry about it because when you will deploy the changes in future it will automatically trigger the AppPool recycle. so I think you are good to go.
Take a look at this https://github.com/valdisiljuconoks/LocalizationProvider
It is pretty powerful in that it will enable you to transition all of your language resources into the DB, and manage them all very effectively within the CMS UI.