I develop an Winform Client Application which edit large files stored in a server, for performance reasons i would like to catch them in client machine for some days. I tried to use IsolatedStorage CAB feature to achieve this, at the first trials no so big
ICacheManager filesCache = CacheFactory.GetCacheManager();
MemoryStream memoryStream = GetStreamFromServer();
However after cache large amount of files, the memory of my application grows a lot. and restarting my application all the files are load into memory becoming my application start slower and finally result OutOfMemoryException
I read by design of CAB is the expected behavior since when the cache manger is created it loads from storage the persisted items into Memory.
Can CAB help in this scenario ?
There is a way to get a Load on Demand item cache and released from memory without released from file persisted item?
I think that is not possible, according to this thread, http://entlib.codeplex.com/Thread/View.aspx?ThreadId=9229 that there is an assumption that the data is written to the memory and
written to a backing store optionally. What is your "maximumElementsInCacheBeforeScavenging" value?
Please see this threads:
Global Technology and Solutions