IOException:调用CacheManager.GetData时,进程无法访问该文件

时间:2014-09-10 07:46:27

标签: c# enterprise-library

我们正在使用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>

1 个答案:

答案 0 :(得分:0)

在我们的案例中,将BackStore类型从lonelystorage更改为nullstorage。感谢Hans Passant