2017-04-26 1 views
0

J'utilise l'API web net de dot net et j'essayais de mettre en œuvre DI. Je suis venu à remarquer que, dès que vous déclarez un constructeur paramétré, l'API ne fonctionnera pas.Les constructeurs paramétrés dans l'API web ne fonctionnaient pas

Exemple:

[Route("api/[controller]")] 
public class ValuesController : Controller 
{ 
    public ValuesController() 
    { 

    } 
    public ValuesController(string abc) 
    { 
     abc = "123"; 
    } 

    // GET api/values 
    [HttpGet] 
    public IEnumerable<string> Get() 
    { 
     return new string[] { "value1", "value2" }; 
    } 

Je ne sais pas exactement ce qui a mal tourné ...

+0

Pouvez-vous commencer par expliquer «... l'api ne fonctionnera pas». Veuillez fournir tous les détails d'exception ou les détails du comportement inattendu s'il n'y a pas d'exception. – Igor

+0

Il ne lançait aucune exception. Je recevais essentiellement un Http 500. – sai1990

+0

utilisez-vous la page app.UseDeveloperExceptionPage()? Si vous n'êtes pas, alors vous devriez. En outre, si vous exécutez à partir de la console ou de VS \ code, vous verrez l'exception dans la fenêtre de sortie du programme. –

Répondre

0

On dirait que je viens d'avoir à configurer DI, étant donné que bon DI n'a pas été configuré, il n'a pas été en mesure de comprendre la but du constructeur.