【问题标题】:Glass Mapper + Unity玻璃映射器 + Unity
【发布时间】:2015-08-14 11:58:42
【问题描述】:

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

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

public class SearchController : Controller
{
    private readonly ISitecoreContext _context;

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

谁能提供一个如何让 Glass 与 Unity 连接的代码示例?

【问题讨论】:

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


    【解决方案1】:

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

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

    我的 Unity 有点生疏了,但类似这样(您可能会发现一些更简单的东西):

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

    【讨论】:

    • 是的,上周我实际上意识到了这一点——超级简单。出于某种原因,我预计连接 IoC 会更加困难。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    相关资源
    最近更新 更多