2013-02-22 3 views
0

미리 도움을 청하십시오. mvc4로 변경하고 경로를 등록하기 위해 app_start/routeconfig.cs를 사용하기 시작합니다. 그 neccesary가 추가 장소에 routetable.routes를 선언 할 경우 사람이 알고 있지, Autofac - RouteConfig.cs - asp.net mvc4

아마 그것은 autofac과 어떤 관계를 가지고 있겠지하지만 나는 해결책을 찾을 수 없습니다 - 이미를 Global.asax에 RouteConfig.RegisterRoutes(RouteTable.Routes); 선언 - mvc4 면도기와 autofac 사용하고자하는 경우 의 인터넷 템플릿?

현재 내 app에는 map.route 정의가 작동하지 않습니다. 인스턴스를 선언해야하는지 모르겠다.

RegisterInstance(RouteTable.Routes); 

고맙습니다.

답변

1

이것은 기본적으로 mvc 용 Autofac을 구성하는 데 필요한 최소 코드입니다. Autofac.Integration.Mvc를 참조해야하며, webapi를 사용하는 경우 Autofac.Integration.Webapi도 참조해야합니다.

public static class AutofacConfig 
{ 
    public static IContainer Register() 
    { 
     var assembly = typeof(MvcApplication).Assembly; 
     var builder = new ContainerBuilder(); 

     builder.RegisterControllers(assembly); 
     // If you don't need webapi, you can omit this, else you need Autofac.Integration.Webapi 
     builder.RegisterApiControllers(assembly); 

     var container = builder.Build(); 

     DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 
     // If you don't need webapi, you can omit this, else you need Autofac.Integration.Webapi 
     var resolver = new AutofacWebApiDependencyResolver(container); 
     // Configure Web API with the dependency resolver. 
     GlobalConfiguration.Configuration.DependencyResolver = resolver; 

     return container; 
    } 
} 

의 Global.asax에서 당신은 다음 첫 번째 통화 중 하나로 위해 Application_Start 방법에

AutofacConfig.Register(); 

를 추가 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 한 가지 질문은 .. 경로에 대한 자세한 정보를 포함 할 필요가 없습니까? brgds! –

+0

아니요, autofac은 경로 자체에 아무 것도하지 않습니다. 아마도이 문제는 Autofac이 아닐 것입니다. 'RegisterRoutes' 메서드에서 무엇을 가지고 있습니까? – nickvane