Performance com ASP .NET – Removendo View Engines não utilizadas

Fala galera! Tudo certo?

Hoje estou aqui pra dar uma dica rápida pra quando estamos trabalhando com aplicações ASP .NET MVC, é sobre remover “View Engines” que não são utilizadas pela nossa aplicação. 

Pra começo de conversa, quando temos um projeto .NET utilizando MVC, geralmente nós utilizamos o Razor pra renderizar nossas páginas HTML, então ele é o nosso “View Engine”.

Certo! Então vejam só: quando requisitamos uma View que não existe, nós vamos obter um erro né, parecido com esse cara aqui:
erroview

E ele está nos dizendo: “Cara, você tentou retornar uma View chamada ‘ViewQueNaoExiste’. Mas ela não existe! E pra você não duvidar, olha aqui, eu procurei em todos esses lugares…”

Legal! Vocês podem reparar, que foram procurados vários tipos de arquivos, dentre eles: “.aspx”, “.ascx”, “.cshtml” e “.vbhtml”. Mas se a gente está usando Razor, temos apenas arquivos “.cshtml” ou “.vbhtml” né? Então não precisamos procurar arquivos com extensões diferentes disso.

A sugestão é simples, basta remover todos os motores de renderização, e depois adicionar somente o Razor. Pra fazer isso é só adicionar as seguintes linhas de código no método “Application_Start” do arquivo Global.asax:


ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());

view raw

Global.asax

hosted with ❤ by GitHub

Depois disso feito, se chamarmos a mesma Action vamos obter o seguinte erro:
erroview1

Podemos observar que a partir de agora a aplicação não procura mais por arquivos do tipo “aspx” e “ascx”.

E o que ganhamos com isso? Ao invés de todas as vezes a aplicação procurar por 4 tipos de arquivos, agora ela só procura por 2 tipos. O ganho é mínimo, de milissegundos, mas pra uma aplicação com milhares de usuários por segundo certamente irá fazer diferença. Por vezes, grandes diferenças provém de pequenos detalhes, que é o nosso caso.

Por hoje é só, qualquer dúvida ou sugestão, estou à disposição! Até mais 😀

Advertisement

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão /  Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão /  Alterar )

Connecting to %s