2
respostas

Como o FrameWork encontra a classe?

Muito legal a forma do framework encontrar a classe e o metodo automaticamente. Mas e se por acaso houver duas classes com o mesmo nome em namespace diferentes? por exemplo:

namespace Alura.ListaLeitura.App.Logica
{
    public class LivrosController
    {
        public string Teste()
        {
            return "nova funcionalidade implementada";
        }
    }
}

namespace Alura.ListaLeitura.App.LogicaDois
{
    public class LivrosController
    {
        public string Teste()
        {
            return "nova funcionalidade implementada";
        }
    }
}

Qual metodo o framework vai executar?

2 respostas

provavelmente ele vai executar o namespace que esta com a rota de pastas corretas, mas creio que esse código vai dar alguma problema ao ser executado.

Boa tarde, Rodolfo. Ao configurarmos as rotas, uma ordem é definida. As que foram configuradas anteriormente ganham prioridade:

https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-6.0#conventional-routing-order

Caso esteja utilizando a definição padrão de roteamento e houver uma duplicidade, o ASP.Net tenta encontrar um melhor candidato, mas caso não seja possível, uma exceção do tipo AmbiguousMatchException é disparada. Mais informações em:

https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing?view=aspnetcore-6.0#resolving-ambiguous-actions