使用.NET 3.5。我正在使用 ReaderWriterLockSlim 将客户对象存储在缓存中。问题是,来自 Customer A 的用户正在执行一项操作,该操作将导致更新缓存中的客户对象; EnterWriteLock()将阻止所有用户从缓存中读取客户对象,尽管他们可能属于客户B 且拥有不同的客户对象。
答案 0 :(得分:1)
我最近试图做类似的事情。我最终将对象锁定在缓存中而不是缓存本身。这种方法有一些缺点,但它可能适用于你正在做的事情。
链接(代码是VB.Net):Synclock on an object in the Cache