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