0

我找不到如何在 winforms c# 中完成简单缓存的体面示例,这是我想出的,但我遇到了例外。

// 这行已经得到一个异常 ICacheManager productsCache = CacheFactory.GetCacheManager("MyCacheManager");

例外情况是:附加信息:无法加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Common,版本=5.0.414.0,

我认为我无法正确配置的 app.config 是:

<configuration>
    <configSections>
        <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
    </configSections>
    <cachingConfiguration defaultCacheManager="MyCacheManager">
        <cacheManagers>
            <add name="MyCacheManager" type="Microsoft.Practices.EnterpriseLibrary.Caching, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                expirationPollFrequencyInSeconds="60" maximumElementsInCacheBeforeScavenging="1000"
                numberToRemoveWhenScavenging="10" backingStoreName="NullBackingStore" />
        </cacheManagers>
        <backingStores>
            <add type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                name="NullBackingStore" />
        </backingStores>
    </cachingConfiguration>
</configuration>

我使用 entlib 配置创建 app.config 我不断收到异常。有我可以使用的例子吗?(比 2007 年的示例更新)

10 倍的时间

4

1 回答 1

0

缓存程序集依赖于 Microsoft.Practices.EnterpriseLibrary.Common。您的项目需要引用 Common 程序集以及 Microsoft.Practices.EnterpriseLibrary.Caching。此外,请确保 bin 文件夹中的版本与配置文件中指定的版本相匹配。如果使用使用不同程序集副本的配置工具版本生成配置,则可能会导致版本不匹配。

也可以查看下面的帖子了解其他一些想法:

http://blogs.msdn.com/b/tomholl/archive/2007/04/19/avoiding-configuration-pitfalls-with-incompatible-copies-of-enterprise-library.aspx

于 2013-10-26T14:21:50.853 回答