I\'m looking for a drop in solution for caching large-ish amounts of data.
related questions but for different languages:
I've partially poprted EhCache Java application to .NET The distributed caching is not yet implemented, but on a single node, all original UnitTests pass. Full OpenSource:
http://sourceforge.net/projects/thecache/
I can create a binary drop if you need it (only sourcecode is availble now)
What you really want is a B-Tree. That's the primary data structure that a database uses. It's designed to enable you to efficiently swap portions of a data structure to and from disk as needed.
I don't know of any widely used, high quality standalone B-Tree implementations for C#.
However, an easy way to get one would be to use a Sql Compact database. The Sql Compact engine will run in-process, so you don't need a seperate service running. It will give you a b-tree, but without all the headaches. You can just use SQL to access the data.
you can use the MS application block with disk based cache solution
Try looking at NCache here also.
I am not affiliated with this company. I've just downloaded and tested their free express version.