关于 Visual Studio 2010:.net EnterpriseLibrary.Caching 的 4 个问题

.net 4 issues with EnterpriseLibrary.Caching

在 .net 4 网站中,我正在使用企业库缓存程序集(Microsoft.Practices.EnterpriseLibrary.Caching.dll,版本 4.0.0.0)。

当我尝试使用

方法获取我的缓存之一时

1
CacheFactory.GetCacheManager("MyCacheManager")

,.net 运行时抛出以下异常:

当前构建操作(构建密钥 Build Key[Microsoft.Practices.EnterpriseLibrary.Caching.ICacheManager, MyCacheManager])失败:
你调用的对象是空的。 (策略类型 Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy,索引 2)

这是完整的堆栈跟踪:

================================================ ================================

在 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext 上下文)
在 Microsoft.Practices.ObjectBuilder2.Builder.BuildUp(IReadWriteLocator 定位器,ILifetimeContainer 生命周期,IPolicyList 策略,IStrategyChain 策略,对象 buildKey,对象存在)
在 Microsoft.Practices.ObjectBuilder2.Builder.BuildUp[TTypeToBuild](IReadWriteLocator 定位器,ILifetimeContainer 生命周期,IPolicyList 策略,IStrategyChain 策略,对象 buildKey,对象存在)
在 Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](IReadWriteLocator 定位器,ILifetimeContainerlifetimeContainer,字符串 id,IConfigurationSource 配置源)
在 Microsoft.Practices.EnterpriseLibrary.Caching.CacheFactory.GetCacheManager(字符串 cacheManagerName)
在 C:\\\\Users\\\\Yosief.Kesete\\\\Documents\\\\Visual Studio 2010\\\\Projects\\\\MyProduct\\\\MyProductDAL\\\\MyProductDAL.cs:line 39 中的 MyProduct.MyProductDAL.MyProductDAL..ctor(String connectionString) pb>

================================================ ==================================

我正在 64 位 Windows 7 Professional PC 上使用 VS 2010 进行开发。我的网站托管在 IIS 7.5 中。我还添加了对与缓存程序集一起使用的其余程序集的引用,例如:

Microsoft.Practices.EnterpriseLibrary.Common.dll v4.0.0.0

Microsoft.Practices.ObjectBuilder2.dll v2.1.0.0

Microsoft.Practices.Unity.dll v2.0.414.0

等...

谁能帮帮我?


你有没有在 web.config 中把它连接起来?我相信必须存在一个部分才能找到正确的实现。下面的链接显示了一个松散的示例。

此外,我不喜欢手动编辑这些东西。企业库配置管理器将允许您在一个漂亮的界面中指向并单击以连接所有内容。

如果您升级到 5.x 版,该工具的用户界面会更好。强烈推荐。

相关帖子?