현재 HttpContext에서 현재 사용자 이름을 가져 와서 서비스 메서드에서 사용하는 작업으로 전달하는 ActionFilter가 있습니다. 예 :ASP.NET MVC : HTTPContext 및 Dependency Injection
Service.DoSomething(userName);
이제는 작업 수준이 아니라 컨트롤러 생성자 수준에서이 작업을 수행해야하는 이유가 있습니다. 현재 컨트롤러를 생성하고 서비스를 주입하기 위해 구조체 맵을 사용하고 있습니다. 나는 다음과 같은 것을보고있다 :
public interface IUserProvider
{
string UserName { get; }
}
public class HttpContextUserProvider : IUserProvider
{
private HttpContext context;
public HttpContextUserProvider(HttpContext context)
{
this.context = context;
}
public string UserName
{
get
{
return context.User.Identity.Name;
}
}
}
나는 이것이 내가 사용 해본 첫 번째 프로젝트이기 때문에 나의 IoC foo는 정말 약하다.
그래서 내 질문은 ... HttpContextUserProvider에 대한 생성자에서 HttpContext를 전달할 구조체 맵을 어떻게 전달할 수 있습니까? 이것은 이상하게 보입니다 ... HttpContext에 대해 어떻게 생각하는지 모르겠습니다.
"일반 유형 매개 변수를 가방에 추가 하시겠습니까?" 흥미로운 소리. –
세션을 통해 강력한 형식의 랩퍼를 제공합니다 –
샘플 코드/링크가 있습니까? 이것은 재미있을 것 같습니다. _ 이렇게 다소 이해할 수 없으므로 어떤 도움이나 조언도 받으실 수 있습니다 ... – Haroon