2016-07-19 2 views
4

현재 .NET 컨텍스트에 액세스 할 수 있어야하는 .NET 4.6을 대상으로하는 .NET Core 프로젝트 (클래스 라이브러리)를 만들었습니다. 우리는 더 이상 정적 인 HttpContext.Current을 사용할 수없고 IHttpContextAccessor의 인스턴스를 주입해야한다는 것을 알았습니다. .NET 4.6을 목표로하는 웹 API 프로젝트처럼 여전히 사용할 수있는 것입니까? 지금까지 아무 것도 반환하지 않고 HttpContextAccessor.HttpContext을 얻을 수 없습니다..NET 4.6 프로젝트에서 HttpContextAccessor 사용

+0

'HttpContextAccessor'를 (를) 등록 했습니까? –

+0

ASP.NET과 ASP.NET 코어에서 동일한 코드를 사용하기를 원하십니까? 나는이 경우 가능하다고 확신하지 못합니다. – svick

+0

@ademcaglin 내가 이해 한 것으로부터 IApplicationBuilder를 사용하여 등록 할 필요가 있습니다. ASP.NET에 없기 때문에 등록해야합니다. – Tom

답변

1

클래스 라이브러리의 경우 생성자 또는 메서드를 통해 관련 변수/개체를 전달할 수 있습니다. 예를 들어 httpcontext가없는 콘솔 앱에서 클래스 라이브러리를 참조하면 클래스 라이브러리가 손상되지 않기 때문에 좋은 방법입니다.

컨트롤러 메소드 안에 있다면 요청 또는 응답을 사용할 수 있습니다.

+0

흠, 잘 로깅 라이브러리에 대한, HTTP 요청에 대해 꽤 많은 세부 정보를 기록 할 필요가 있으므로 누군가가 뭔가를 기록해야 할 때마다 모든 요청 세부 사항을 지정하지 않아도됩니다. – Tom

관련 문제