1. 정의 기, 조합 주입 Iprovider 의해 수득하고자
1 개 공용 클래스 AppDependencyResolver 2- { 3 개인 정적 AppDependencyResolver의 _resolver; 4 5 공공 정적 AppDependencyResolver 현재 6 { 7 GET 8 { 9 경우 (_resolver == null이 ) 10 던질 새로운 예외 ( " AppDependencyResolver가 초기화되지 당신은 시작 클래스를 초기화해야합니다. " ); (11) 수익 _resolver; 12 } 13 } 14 15 공공 정적 무효 초기화 (IServiceProvider 서비스) 16 { 17 = _resolver 새로운 AppDependencyResolver (서비스); 18 } 19 20 전용 판독 전용 IServiceProvider _serviceProvider; 21 22 공용 목적 의 getService (유형 ServiceType 자리) 23 { 24 반환 _serviceProvider.GetService (ServiceType 자리); 25 } 26 27 공중 T의 getService <T> () 28 { 29 창 _serviceProvider.GetService <T> (); 30 } 31 32 개인 AppDependencyResolver (IServiceProvider 서비스 제공자) 33 { 34 _serviceProvider = 서비스 제공자; 35 } 36 }
2.startup 초기화 컨테이너 제공자가 autofac 인
1 AppDependencyResolver.Init (제공);
3. 전화
1 개인 하는 ILogger <CustomAutofacAop> _logger; 2 공개 CustomAutofacAop () 3- { 4- _logger = AppDependencyResolver.Current.GetService <하는 ILogger <CustomAutofacAop >> (); 5 6 }