Assume that on a Windows 2003 or 2008 server anywhere from 5 to 15 services all use the same list. The list is just a hash table of keys and values that change once a week. Every service has a read-only interface. No service can change the content of the hash table. We already have a dll that loads the hash table and this dll is referenced by every service. So we have between 5 and 15 copies of the same hash table in memory. Constantly being loaded and released as the services start and stop.
How can I load a single instance of this hash table into memory and expose it to any service or process that cares to read it? We will be using .Net c# 4.0. Could you point me towards a pattern or other reading?
Thanks for your opinion.