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

本文关键字:访问 文件 GetData 进程 调用 CacheManager IOException | 更新日期: 2023-09-27 18:21:14

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

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

将BackStore类型从isolatedstorage更改为nullstorage在我们的案例中起到了作用。感谢Hans Passant