Glass Mapper + Unity

时间:2015-08-14 11:58:43

标签: asp.net-mvc sitecore unity-container glass-mapper

据我所知,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联系起来吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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