2011-02-16 2 views
0

를 해결하려면 AutofacWebTypesModule를 사용하여 I가 다음과 같은 등록나는 HttpServerUtilityBase

builder.RegisterModule(new AutofacWebTypesModule()); 
    builder.Register<MyType>(ctx => 
    { 
     var server = ctx.Resolve<HttpServerUtilityBase>(); 
     ... 
    }); 

내가 컨트롤러에서 생성자를 통해합니다 MyType를 해결하려고 할 때, 나는 다음과 같은 예외를 얻을. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

Autofac.Core.DependencyResolutionException 사용자 코드에 의해 처리되지 않은이었다
메시지 = 식 가치 (Autofac.Builder.RegistrationBuilder`3 + <> c__DisplayClass0 [System.Web.HttpServerUtilityBase, Autofac와 일치하는 범위 없다 .Builder.SimpleActivatorData, Autofac.Builder.SingleRegistrationStyle]). lifetimeScopeTag.Equals (scope.Tag) ' 은 인스턴스가 요청 된 범위에서 볼 수 있습니다.

답변

1

이궁은 - 그 오류 메시지가

문제는 당신이 DependencyResolver에 반대 (컨테이너에서 직접 MyType를 해결하기 위해 노력하고 그렇지 않으면 당신이 복용하고 있다는 가능성이 높습니다 : 모든 잘못을 간 싱글의 IT에 대한 종속성이. HttpServerUtilityBase 구성 요소는 단지 웹 요청의 컨텍스트에서 사용할 수 있습니다.

도 IIS7 통합 파이프 라인 모드에 실패합니다 Applicaiton_Start에서 해결하려고합니다.

HTH! 닉