Comment s'appelle le constructeur du Web API Controller?

Selon cet articleun Contrôleur de gestion doit avoir un constructeur qui reçoit l'interface doit être mis en œuvre passé en, à la:

public class DuckbillsController : ApiController
{
    IDuckbillRepository _platypiRepository;

    public DuckbillsController(IDuckbillRepository platypiRepository)
    {
        if (platypiRepository == null)
        {
            throw new ArgumentNullException("platypiRepository is null");
        }
        _platypiRepository = platypiRepository;
    }
}

Mais comment est-ce constructeur appelé? A compter via un client de l'appel d'une API Web méthode figurant au sein de cette classe, mais comment fait-il passé le type d'Interface? Ou ne pas se produire (constructeur n'est pas explicitement appelé par n'importe qui/n'importe où)?

Mise à JOUR

Les exemples canoniques spectacle "private readonly" ajouté à la déclaration d'Interface, mais ce n'est pas nécessaire pour compiler. Est-il de la compilation, je veux dire irrésistible, de la raison, pour moi de la faire précéder de "private readonly"?

source d'informationauteur B. Clay Shannon | 2013-12-23