Comment résoudre les contrôleurs API Web à l'aide d'Autofac dans une API Web mixte et une application MVC?

Salut j'ai une application MVC où je l'ai défini quelques dépendances à mon API Web.

public class AutofacWebApiDependenceResolver : IDependencyResolver
{
    private readonly IComponentContext container;
    public AutofacWebApiDependenceResolver(IContainer container)
    {

     if (container == null)
     {
         throw new ArgumentNullException("container");
     }
     this.container = container;
    }

    public object GetService(Type serviceType)
    {
        if (serviceType == null)
        {
            throw new ArgumentNullException("serviceType");
        }
        var ret = this.container.ResolveOptional(serviceType) ;
        return ret;
    }
    public IEnumerable<object> GetServices(Type serviceType)
    {            
        if (serviceType == null)
        {
            throw new ArgumentNullException("serviceType");
        }            
        Type enumerableType = typeof(IEnumerable<>).MakeGenericType(serviceType);
        var ret = (IEnumerable<object>)this.container.ResolveOptional(enumerableType);
        return ret;
    }
}

Ensuite dans mon programme d'amorçage de la classe je l'appelle dans Application_Start comme suit:

GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependenceResolver((IContainer)container);

Quand je déboguer le code, je peux le voir il y a des enregistrements de tous les services avec mon DependencyResolver, mais je reçois toujours le message d'erreur suivant:

Une erreur s'est produite.Type 'WebApp.Les contrôleurs.AuthenticateController'
ne pas avoir un constructeur par défaut

Voici le code de mon contrôleur:

public class AuthenticateController : ApiController
{
    private readonly IFormsAuthenticationService formsAuthenticationService;
    private readonly IMemberShipProvider memberShip;
    private readonly IDataService dataService;

    public AuthenticateController(
        IMemberShipProvider memberShip,
        IFormsAuthenticationService formsAuthenticationService, IDataService dataService)
    {
        this.memberShip = memberShip;
        this.formsAuthenticationService = formsAuthenticationService;
        this.dataService= dataService;
     }

}

Comment puis-je amener les paramètres de l'api contrôleurs. Le Simple contrôleurs fonctionnent très bien.

source d'informationauteur progrAmmar