0

在 Umbraco 7 中,您可以使用UmbracoContext.EnsureContext()一些技巧来获取UmbracoHelperUmbraco 上下文的外部,例如在 HttpHandler 中。在 Umbraco 8UmbracoContext.EnsureContext()中已被删除,那么我们现在该怎么做呢?

具体来说,我想在我的 HttpHandler 中获取根节点,例如

var helper = CreateUmbracoHelper();
var root = helper.ContentAtRoot().First();

但我不知道如何实现CreateUmbracoHelper().

4

1 回答 1

1

事实证明,使用 DependencyResolver 非常简单。这就是我所拥有的,而且效果很好。

var factory = DependencyResolver.Current.GetService<IUmbracoContextFactory>();
using (factory.EnsureUmbracoContext())
{
    var helper = DependencyResolver.Current.GetService<UmbracoHelper>();
    var websiteNode = helper.ContentAtRoot().Single() as HomePage;
    // etc
}
于 2019-08-21T08:16:41.353 回答