2013-07-20 64 views
0

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

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

回答

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); 
    }