LENTIDÃO MVC RAZOR AO TRAZER 6000 REGISTROS

MRADO.VB 01/09/2017 14:47:42
#476229
Boa tarde.

Estou desenvolvendo uma aplicação no padrão MVC, no Visual Studio 2017, com Razor, CsHtml.

Ele está implementado com EntityFramework, classes auxiliares de MetaDados dos objetos do EF que ajudarão na renderização e na validação das informações nas Views.

Bem, o CRUD já está pronto. Fiz as inclusões, exclusões, alterações e listagem básicas. Até então, fiz testes com 20, 30 registros. Fiquei surpreso com a rapidez e o tempo de resposta, até então, muito rápido. A próxima tarefa que em que eu estava me preparando seria a de dividi-lo em camadas.

Nesse meio tempo, eu populei essa mesma tabela com 6000 registros para ver como seria o comportamento. FIQUEI ESPANTADO. Demorou mais de, PASMEM, 1 minuto para renderizar todas a tela. Aí eu gostaria de saber a opinião dos amigos experientes com o MVC. O Razor fica executando item a item em um forEach, isso é padrão. Pergunto: essa questão do tempo da renderização dos 6000 registros na Listagem é uma falha? Um bug? Tem como ser resolvido?

Outra questão, sendo assim, como eu poderia melhorar essa questão de performance, pois quando a aplicação estiver no ar, obviamente, eu não poderei chegar e dizer ao meu cliente: [Ô]Olha, a aplicação é muito rápida, só não inclua 6000 registros.[Ô]

Como os amigos costumam fazer nesses métodos tendo em vista que os registros terão que ser listados.

Abs. e mais uma vez muito obrigado.

KERPLUNK 01/09/2017 15:06:37
#476231
Resposta escolhida
Não uso esse padrão MVC já tem um bom tempo, mas em se tratando de aplicações, de qualquer tipo ou plataforma, se trafega apenas o necessário. Porque trazer 6000 registros se o usuário vê 20 ou 30 no máximo por vez? Então uma boa alternativa é paginar os resultados
KERPLUNK 01/09/2017 15:07:26
#476232
E por favor, leia, entenda como funciona, não simplesmente baixe código.
KERPLUNK 01/09/2017 15:11:41
#476233
Em mensagem privada:
Título
MVC
Criado em
01/09/2017 15:09:16
Criado por
MRADO_VB
Outros destinatários
KERPLUNK
Conteúdo
Olá. Qual o padrão MVC que vc utiliza?

Uso um padrão menos acoplado:
Uma WebAPI usando C#, banco de dados geralmente SQL Server e um front-end usando Angular
MRADO.VB 01/09/2017 15:14:22
#476234
Claro... Estou lendo e relendo sobre o assunto... Não estou simplesmente baixando código.
A minha ideia é ver a viabilidade de realizar tudo no servidor e trazer os dados em algum formato (JSON, por exemplo) e realizar tudo pelo lado do cliente.

Depois dividi-lo em camada.

E após isso estudar as WebApi.

Desde já, muito obrigado
MRADO.VB 01/09/2017 15:16:08
#476235
E retornar esse registros na grid Datatables.Net...
Tópico encerrado , respostas não são mais permitidas