Autofac과 ASP.NET Web API 2 응용 프로그램을 통합하기 위해 지난 몇 시간 동안 원을 그리며 움직였습니다. 나는 다음과 같은 한 Autofac 에와와 위키를 ASP.NET 웹 API와 통합 .
하지만 분명히이 위키는 Web API 2에서 구식입니다. Autofac과 함께 작동하도록 애플리케이션을 구성 할 수있는 방법이 있습니까? 나는 포기하고 Ninject로 돌아갈 것입니다.
Autofac , Autofac.WebApi2 및 Autofac.Mvc5를 설치 했습니다 .
다음 전화를 걸 수 없습니다
containerBuilder.RegisterApiControllers(Assembly.GetExecutingAssembly());
.InstancePerApiRequest();
연결할 수 없습니다. 사실, 이름에서 Api로 호출하려는 모든 것은 정의되지 않았습니다. (예 RegisterApiControllers, AsWebApiActionFilterFor, RegisterWebApiFilterProvider, InstancePerApiRequest, InstancePerApiControllerType
)
또한 Log4Net을 사용하려고하는데 위키에 표시된 LoggingActionFilter에서 위키에 따라 모듈을 구현했습니다 .Log4Net에 정의가 포함되어 있지 않으므로이 줄을 무엇으로 바꾸어야합니까? Write
_logger.Write(actionContext.ActionDescriptor.ActionName);
Autofac.WebApi2 패키지 대신 Autofac.WebApi5 너겟 (릴리스 후보 패키지 설치 구문을 사용해야 함)을 사용해보십시오 . 그런 다음 Global.asax.cs에서 다음과 같은 코드를 사용하여 초기화합니다.
IocContainer container = // code to create your container
GlobalConfiguration.Configuration.DependencyResolver =
new AutofacWebApiDependencyResolver(container);
이 설정은 MVC5 / API2 프로젝트에서 저에게 효과적입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다