如何在winform中设置缓存c#

时间:2013-10-26 13:35:14

标签: c# winforms caching

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

//此行已获得异常    ICacheManager productsCache = CacheFactory.GetCacheManager(“MyCacheManager”);

例外是: 附加信息:无法加载文件或程序集'Microsoft.Practices.EnterpriseLibrary.Common,Version = 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倍

1 个答案:

答案 0 :(得分: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