PROBLEMA COM ROTAS NO BLAZOR
Bom dia
Criei uma API em net core 6, defini ela para usar arquivos estáticos, e dentro da pasta wwwroot, coloquei os arquivos de um projeto feito em Blazor (net core 6) afim de consumir os métodos da API. Se chamar pela URL base "/", e ir navegando pelos links (clicando neles), funciona perfeitamente. O problema esta se digitar direto no browser uma URL especifica, me retorna 404.
No Startup.cs já defini assim:
Onde isso resolveu em partes o problema, ou seja, agora ele aceita as URLs diretas, mas se as mesmas contiverem parâmetros, por exemplo: https://site.com.br/redefinirsenha/TokenDeRedefinicao, me retorna o 404.
Creio que é mais alguma configuração que esta faltando ali no "UseEndpoints", mas não estou sabendo qual seja.
Obs. Esse problema só acontece no servidor IIS (site publicado), em desenvolvimento funciona perfeitamente.
Se alguém puder me ajudar, agradeço
Criei uma API em net core 6, defini ela para usar arquivos estáticos, e dentro da pasta wwwroot, coloquei os arquivos de um projeto feito em Blazor (net core 6) afim de consumir os métodos da API. Se chamar pela URL base "/", e ir navegando pelos links (clicando neles), funciona perfeitamente. O problema esta se digitar direto no browser uma URL especifica, me retorna 404.
No Startup.cs já defini assim:
(...)
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapFallbackToFile("index.html");
});
Onde isso resolveu em partes o problema, ou seja, agora ele aceita as URLs diretas, mas se as mesmas contiverem parâmetros, por exemplo: https://site.com.br/redefinirsenha/TokenDeRedefinicao, me retorna o 404.
Creio que é mais alguma configuração que esta faltando ali no "UseEndpoints", mas não estou sabendo qual seja.
Obs. Esse problema só acontece no servidor IIS (site publicado), em desenvolvimento funciona perfeitamente.
Se alguém puder me ajudar, agradeço
Olá Marcelokrol.
Também estou com esse problema, tinha alguns links para redefinição de senha, confirmação de registro entre outros serviços ligados ao Identity que eram chamados através da minha aplicação Blazor webAssembley, essas paginas estava na minha WEBAPI, mas retornava o erro 404. Eu acabei fazendo essa parte de segurança na própria aplicação Blazor para evitar esse tipo de erro.
Notei que na própria aplicação Blazor em algumas situações gera erro se digitar diretamente um endereço valido da aplicação diretamente no browser, no meu caso isso ainda não é um problema porque o usuário é quase que obrigado a usar o menu já que minha aplicação está funcionando como PWA e a barra fica oculta quando o usuário instala o aplicativo.
Não vou conseguir te ajudar, mas se descobrir alguma coisa posto aqui.
Também estou com esse problema, tinha alguns links para redefinição de senha, confirmação de registro entre outros serviços ligados ao Identity que eram chamados através da minha aplicação Blazor webAssembley, essas paginas estava na minha WEBAPI, mas retornava o erro 404. Eu acabei fazendo essa parte de segurança na própria aplicação Blazor para evitar esse tipo de erro.
Notei que na própria aplicação Blazor em algumas situações gera erro se digitar diretamente um endereço valido da aplicação diretamente no browser, no meu caso isso ainda não é um problema porque o usuário é quase que obrigado a usar o menu já que minha aplicação está funcionando como PWA e a barra fica oculta quando o usuário instala o aplicativo.
Não vou conseguir te ajudar, mas se descobrir alguma coisa posto aqui.
Obrigado MRSILVA pelo retorno
Então... consegui resolver o problema.
Explicando...
A Api esta sendo desenvolvida a parte, digo, fora do projeto blazor, ou seja, é um projeto em net core 6 externo, pois a mesma será usada para outras comunicações, e como teste resolvi criar o frontend em blazor, só que me deparei com esse problema.
Bom passei o final de semana pesquisando, vendo vÃÂdeos de publicação e não achei nada que pudesse resolver o me problema, até que que pensei: "o VS cria um projeto "HOSTED" (acho que é esse o nome), onde contem uma API e um projeto blazor, que consome a api do mesmo projeto. Foi ai que criei um mini projetinho e publiquei, e vi que nele não acontecia, e comecei a partir dele comparar com o que estava errado no meu. Onde descobri uma configuração errada no arquivo WEB.CONFIG. A partir do momento que corrigi ele, tudo funcionou como mágica.
Caso seja útil pra voce ou mais alguém, estou postando o meu arquivo web.config que esta na pasta da api.
Então... consegui resolver o problema.
Explicando...
A Api esta sendo desenvolvida a parte, digo, fora do projeto blazor, ou seja, é um projeto em net core 6 externo, pois a mesma será usada para outras comunicações, e como teste resolvi criar o frontend em blazor, só que me deparei com esse problema.
Bom passei o final de semana pesquisando, vendo vÃÂdeos de publicação e não achei nada que pudesse resolver o me problema, até que que pensei: "o VS cria um projeto "HOSTED" (acho que é esse o nome), onde contem uma API e um projeto blazor, que consome a api do mesmo projeto. Foi ai que criei um mini projetinho e publiquei, e vi que nele não acontecia, e comecei a partir dele comparar com o que estava errado no meu. Onde descobri uma configuração errada no arquivo WEB.CONFIG. A partir do momento que corrigi ele, tudo funcionou como mágica.
Caso seja útil pra voce ou mais alguém, estou postando o meu arquivo web.config que esta na pasta da api.
Obrigado MarceloKrol.
Será muito útil.
Será muito útil.
Tópico encerrado , respostas não são mais permitidas