I'm using ISynchronizedObjectInstanceCache for caching objects in our application and run into an issue when we enabled globalization. After an user changes language/culture on the site the cache doesn't get invalidated, which makes all cached objects to show up in the wrong language. I cannot seem to find any lang/culture variables to be set in the insert method nor in the CacheEvictionPolicy object, and cannot find anything from the documentation. What is the best practice for handling this on a globalized site?
A cache should not have to worry about culture or anything, it is after all a cache, it should just cache whatever you tell it with the given cache key.
You make the cache keys, so if you need culture specific cache items then perhaps build the culture info into the cachekey you generate when you work with the cache? But think about invariant culture as well for items you cache that are not culture specific otherwise you will have duplicate items in the cache which is bad for memory consumption and therefor performance.
That works perfect, Thanks!