StructureMap ASP.NET MVC 4问题

时间:2013-07-20 16:02:05

标签: asp.net-mvc-4 structuremap

我在使用asp.net mvc 4时使用structmap正常工作时遇到了很多麻烦。现在,我知道它可以正常工作(我以前工作过,但是我再也无法访问那个特定的代码库了)。我有一个这个解决方案的库,里面有一堆存储库类,目前还有一些Structuremap Registry类,用于设置存储库和其他一些东西。现在,在网络方面,我可以很好地初始化该部分,并且我已经通过在我的一个控制器类中调用ObjectFactory.GetInstance来证明它的工作原理。我能够获得用户列表。

但是,我需要构造函数注入来为控制器工作。我安装了结构图mvc 4包,我注意到它在App_Start和其他一些地方放了一些东西。 Global.asax中没有任何内容。应该有什么东西为MVC设置容器吗?或者我在这里错过了一些其他微妙的步骤?

1 个答案:

答案 0 :(得分:0)

经过一些麻烦,我解决了。我之前有一个名为Bootstrapper的对象,它完成了所有IOC设置。所以我不得不将StructureMapMvc.cs修改为以下内容(基本上,告诉它使用现有的容器):

public static class StructuremapMvc {
    public static void Start()
    {
        Bootstrapper.Bootstrap();
        var container = ObjectFactory.Container;
        DependencyResolver.SetResolver(new StructureMapDependencyResolver(ObjectFactory.Container));
        GlobalConfiguration.Configuration.DependencyResolver = new StructureMapDependencyResolver(container);
    }