在我的一个项目中,我正在使用多个存储库,其中之一是Umbraco内容缓存。虽然我认为这是使网站与Umbraco保持松散集成的好方法,但我仍然遇到一个问题:将UmbracoContext.ContentCache从控制器注入到存储库中,因为UmbracoContext.ContentCache仅在页面请求生命周期中可用。有没有人尝试这样做?还是似乎是一个坏方法?我正在使用Autofac进行DI。

c# - Autofac-注入(inject)UmbracoContext.ContentCache-LMLPHP

最佳答案

因为UmbracoContext.Current是页面生命周期中的单例集,所以您只需要将Umbraco.Core添加到存储库层并使用单例来访问缓存。无论如何,所有这些都已经发生了,无需依靠autofac再次进行。

另外,虽然我不确定这是否是正确的方法,但我使用autofac注册了UmbracoHelper,它可以访问类型化的动态缓存。

builder.Register(c => new UmbracoHelper(UmbracoContext.Current));

关于c# - Autofac-注入(inject)UmbracoContext.ContentCache,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35800473/

10-13 03:13