2016-11-14 3 views
1

Castle Windsor MS Adapter를 사용할 때 PerWebRequest를 대체하기 위해 어떤 라이프 스타일을 사용해야합니까?dotnet 핵심 웹 응용 프로그램의 Castle Windsor 라이프 스타일

https://github.com/volosoft/castle-windsor-ms-adapter

는 DOTNET 코어 전에 나는 거의 모든 컨테이너에있는 구성 요소에 대한 PerWebRequest 라이프 스타일을 사용할 수 있습니다. 이제 IIS 모듈과 http 컨텍스트에서 연결이 끊어 졌으므로 웹 요청이 시작되고 끝날 때 구성 요소를 만들고 폐기하고 싶습니다.

예 :

container.Register(Component.For<MyEntityFrameworkContext>) 
    .ImplementedBy<MyEntityFrameworkContext>() 
    .LifestyleTransient()); 

답변

2

ASP.NET 코어의 요청에 따라 '입니다 그것은 자신의'범위 '라이프 사이클을 가지고 있습니다. 그것의 문서를 참조하십시오 : https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection

사용 예 :

services.AddScoped<ICharacterRepository, CharacterRepository>(); 

당신은 Startup 클래스 ConfigureServices 방법 내부를해야한다.

+0

내장 된 IoC 컨테이너를 사용하지 못하게 할 방법이 있습니까? 우리는이 프로젝트에서 여러 개의 '종단점 (endpoint)'을 가지며, 조금 더 많은 힘을 가진 단일 컨테이너를 사용하고자합니다. – detroitpro

+0

또한 내장 컨테이너를 사용해야하는 경우이 같은 어댑터를 사용하는 상황은 무엇입니까? – detroitpro

+0

이것은 AspNet Core의 DI 디자인입니다. 그러나 LifestyleCustom 를 사용하여 Windsor API로 직접 만들 수 있습니다 (이 라이브러리는 여기에서 만듭니다) : https://github.com/volosoft/castle-windsor-ms-adapter/blob/master/src/Castle.Windsor. MsDependencyInjection/WindsorRegistrationHelper.cs # L105). – hikalkan