ASP.NET MVC: HTTPContext e injeção de dependência
Atualmente, tenho um ActionFilter que obtém o nome de usuário atual do HttpContext e o passa para a ação que o utiliza em um método de serviço. por exemplo
Service.DoSomething(userName);
Agora eu tenho um motivo para fazer isso não no nível da ação, mas no nível do construtor do controlador. Atualmente, estou usando o mapa de estrutura para criar controladores e injetar o serviço. Estou olhando para algo como:
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;
}
}
}
Dito isto, meu IoC foo é realmente fraco, pois este é o primeiro projeto em que o usei.
Então minha pergunta é ... como posso dizer o mapa da estrutura para passar no HttpContext no construtor para HttpContextUserProvider? Isso parece estranho ... Não sei bem como pensar no HttpContext.