玻璃映射器 + Unity

Glass Mapper + Unity

我了解到 Glass Mapper v4 现在可以与任何 IoC 容器结合使用。但我正在努力寻找如何实现这一目标的代码示例。

我希望能够使用 Unity 注册玻璃组件并将它们注入到我的控制器中,例如:

public class SearchController : Controller
{
    private readonly ISitecoreContext _context;

    //Inject via Unity
    public SearchController(Glass.Mapper.Sc.ISitecoreContext context)
    {
        _context = context;
    }
}

有人可以提供代码示例来说明如何将 Glass 与 Unity 关联起来吗?

您实际上不再需要 IoC 容器来配置 Glass 的基本映射设置。

相反,配置注册 ISitecoreContext 和自定义 MVC 控制器工厂覆盖必需的 ReleaseControllerGetControllerInstance 方法。

我的 Unity 有点生疏但是像这样(你可能会发现更简单的东西):

IUnityContainer container = new UnityContainer()
container.RegisterType<ISitecoreContext, SitecoreContext>(new HierarchicalLifetimeManager(), new InjectionFactory(x => new SitecoreContext()));