나는 Ninject에 InRequestScope를 사용 PerRequestResourceProvider의 인스턴스를 만들려면 :ASP.NET MVC + Ninject에 : InRequestScope
public class PerRequestResourceProvider: IPerRequestResourceProvider
{
priavte readonly _perRequestResorceInstance;
public PerRequestResourceProvider()
{
_perRequestResorceInstance = new PerRequestResource();
}
public PerRequestResource GetResource()
{
return _perRequestResorceInstance;
}
}
public interface IPerRequestResourceProvider
{
PerRequestResource GetResource();
}
을 내 NinjectDependencyResolver에서 :
.....
kernel.Bind<IPerRequestResourceProvider>.To<PerRequestResourceProvider>().InRequestScope();
내가 몇 가지 클래스에 IPerRequestResourceProvider를 주입. 그러나 PerRequestResourceProvider 생성자에 중단 점을 추가하면 PerRequestResourceProvider가 요청 당 한 번씩 세 번 생성되고 요청마다 한 번씩 생성되지는 않습니다. 뭐가 문제 야?
업데이트 : 소스 코드 ttps :
이 경우 문제를 재현하는 최소한이지만 완전한 샘플을 게시해야합니다. 그래서 우리는 당신이 버그 리포트를 만들거나 문제를 해결할 수 있도록 도와줍니다. 최소한의 솔루션을 만들어 업로드하고 링크 할 수 있습니다. – BatteryBackupUnit
@BatteryBackupUnit 소스 코드를 추가했습니다. https://bitbucket.org/maximtkachenko/ninjectinrequestscope/src – mtkachenko
@BatteryBackupUnit HomeController contsructor가 고정되었지만 결과가 동일합니다. 요청시 PerRequestResourceProvider 생성자가 3 회 호출되었습니다. – mtkachenko