



This is a library that I wrote in C# .NET (1.1) in order to solve a particular problem that we had with a third party integration. The library was later used in the EXIT Realty integration project.
VREO struck an agreement with EXIT Realty to provide template websites that would be populated with their members' data. Usually VREO stores the customer specifics on our in house databases, but in this instance the client already had an existing database and wanted to feed us the information through a webservice call. This worked well enough except that the calls were too frequent and too large which slowed load times considerably. A caching system was needed. I investigated .NET's built in System.net.Cache namespace but found the storage method undesirable for our purposes. My solution was to consume the data, store it in binary format on the filesystem and use .NET's cache library to constantly update the filesystem. This worked well for us since we preserved the anonymity of the data, had quick easy access to it, and were assured that the data was kept up to date.
After building a working prototype I abstracted the idea to be able to hold a collection of serializable items that would be stored on the filesystem and updated regularly.