2017-09-20 23 views
2

IHttpContextAccessor 주입의 모든 예제에서 Singleton으로 설정됩니다.IHttpContextAccessor를 Singleton으로 삽입해야하는 이유

예 : HttpContext 정말 요청에 매핑 뭔가처럼 보인다 이후

How to add IHttpContextAccessor in the Startup class in the DI in ASP.NET Core 1.0? Injecting IHttpContextAccessor into ApplicationDbContext ASP.NET Core 1.0 .NET Core IHttpContextAccessor issue

나는 그것이 좀 이상한 찾을 수 있습니다. 이 경우에는 AddScoped을 더 적합하지 않겠습니까?

정말 싱글 톤이 권장 방식입니까? 뭔가 보이지 않는거야?

답변

2

실제로 싱글 톤은 권장 방식입니까? 이 샘플에서

GitHub의

https://github.com/aspnet/Hosting/issues/793#issuecomment-224828588

에 제기하는 문제와 관련된 의견에 따르면 예

, 당신은 싱글로 등록되어있다. 범위가 지정된 인스턴스 여야하지 않습니까?

백업 저장소가 비동기 로컬이기 때문에 괜찮습니다. 사용하고 나중에 응답

https://github.com/aspnet/Hosting/issues/793#issuecomment-224924030

당신이 .NET 코어에 과도로 등록하면 사실 그때는 .NET 코어의 구현 때문에 제대로 작동하지 않습니다있어

TLS 저장소 슬롯을 추적하기 위해 인스턴스 변수에 의존하는 AsyncLocal 따라서 .NET 코어에 싱글 톤으로 등록되어야합니다.

+0

".NET 코어는 인스턴스 변수를 사용하여 TLS 저장소 슬롯을 추적하는 AsyncLocal을 사용하고 있습니다." 그러나 그 질문에 답이났다. 감사. –