Dúvida 1: Em alguma parte do código existe uma chamada a ProdutosController();. Isso quer dizer que, antes das modificações, o código utilizava o construtor por default disponibilizado pelo C#!?
Dúvida 2: Depois de mudar o construtor para ProdutosController(ProdutosDAO dao); me parece razoável que em alguma parte de código exista a chamada ao método com a passagem de parâmetro de um ProdutoDAO. Mas a gente não fez isso! Quer dizer, o Ninject é ninja mesmo!? Ele abstrai tudo isso?
Dúvida 3: ProdutosDAO ainda continua precisando de uma session no construtor. Mas como não fizemos essa instância isso me leva a acreditar que o Ninject fez essa ligação de objetos também!?
Não sei se minhas dúvidas ficaram claras. E desde já agradeço!