2013-07-20 147 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); 
    }