ASP.NET MVC: HTTPContext e inyección de dependencias

Actualmente tengo un ActionFilter que obtiene el nombre de usuario actual de HttpContext y lo pasa a la acción que lo usa en un método de servicio. p.ej

Service.DoSomething(userName);

Ahora tengo una razón para hacerlo, no a nivel de acción, sino a nivel del constructor del controlador. Actualmente estoy usando el mapa de estructura para crear controladores e inyectar el servicio. Estoy mirando 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;
        }
    }
}

Dicho esto, mi IoC foo es realmente débil ya que este es el primer proyecto en el que lo he usado.

Así que mi pregunta es ... ¿cómo puedo decirle al mapa de estructura que pase en HttpContext en el constructor de HttpContextUserProvider? Esto simplemente parece extraño ... No estoy seguro de cómo pensar en HttpContext.

Respuestas a la pregunta(8)

Su respuesta a la pregunta