我们正在使用Enterprise Library CacheManager进行缓存。当我们只运行一个应用程序实例时,一切都很好。但是当打开应用程序的多个实例时,CacheManager.GetData(" key")会抛出错误" IOException:进程无法访问文件' CachePartition2.8 \ 1133903271 \ LA'因为它正被另一个进程使用。" 。 这背后的原因是什么? 我们的配置如下:
<cachingConfiguration defaultCacheManager="Cache Manager">
<cacheManagers>
<add expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"
numberToRemoveWhenScavenging="10" backingStoreName="Isolated Storage"
name="Cache Manager" />
</cacheManagers>
<backingStores>
<add partitionName="CachePartition2.8" encryptionProviderName=""
type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.IsolatedStorageBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
name="Isolated Storage" />
</backingStores>
答案 0 :(得分:0)
在我们的案例中,将BackStore类型从lonelystorage更改为nullstorage。感谢Hans Passant