GlassMapper 获取默认上下文 V5

GlassMapper Get Default Context V5

我们最近更新到 GlassMapper V5(以及 Sitecore 9),我们的应用程序几乎无处不在。

我找不到足够的相关文档。我看到 ISitecoreContext 已经过时了,我们被要求使用 IMvcContextIRequestContext 等,但我不知道如何使用它们。

这是我目前拥有的内容,但我不确定如何获取默认的 Sitecore 上下文。它抛出一个错误说

SitecoreContextFactory doesn't exist

我的代码:

   ILink link = SitecoreContextFactory.Default.GetSitecoreContext().GetItem<ILink>(SitecoreItems.StoreLocatorPage);

这就是一个例子。谁能指出我可以找到所有替换方法的正确文档?

可以找到有关使用替换方法升级到 GlassMapper V5 的文档 here

您完全正确,SitecoreContext class 已被标记为过时,从现在开始您应该使用新的上下文提供:

  • MvcContext - 将其用于控制​​器渲染;它提供对 DataSourceItem、PageContextItem、RenderingItem 和 RederingParameteres 的访问。
  • RequestContext - 当您在控制器之外并且没有可用的数据源项时使用它,即事件处理程序、管道处理器。

两个上下文都使用 SitecoreService 与 Sitecore 通信。

我们为 IMvcContext 创建了一个扩展,只需添加命名空间即可使用它,解决方案中不需要更改代码