A current Windows Forms project of mine requires the caching of a fair amount of data. Specifically, I want to store, in memory, on the client, a selection of XML data. When it's done, this should behave something like ASP.NET's session object...so I'll have access to user information and preferences without having to hit the data source every time to get it.
It's no problem to instantiate a class that retrieves and holds this information, but making that information available to other forms in the application (without again reloading an instance of the class and re-retrieving the data) is escaping me. I explored Microsoft's Caching Application Block, and while it appears to offer the kind of behavior I'm after, it's a bit more complicated than I need (and depends heavily on SQL Server...I want to avoid that).
Anyone have any suggestions out there?