ASP.NET MVC 3 - Artigo Revista .Net Magazine 83

Dando continuidade sobre as novidades do ASP.NET MVC 3 trataremos de assuntos como Inversão de Controle e Injeção de Dependência. Veremos também como trabalhar com output cache com actions, além disso, veremos como funcionam e para que servem os controllers sem sessão, ou Sessionless Controllers.

Atenção: esse artigo tem dois vídeos complementares.
Clique e assista o primeiro!

Clique e assista o segundo!

Artigo no estilo: Curso

Do que trata o artigo

Dando continuidade sobre as novidades do ASP.NET MVC 3 trataremos de assuntos como Inversão de Controle e Injeção de Dependência. Veremos também como trabalhar com output cache com actions, além disso, veremos como funcionam e para que servem os controllers sem sessão, ou Sessionless Controllers.

Para que serve

Trabalhar com inversão de controle e injeção de dependências no ASP.NET MVC nos permite criar aplicações mais robustas no sentido de que sua manutenção e evolução são mais simples. Melhorar o desempenho de nossas aplicações mantendo em cache o resultado de actions Permitir que diversas chamadas assíncronas sejam de fato processadas em paralelo pelo servidor.

Em que situação o tema é útil

Diminuir a dependência entre os objetos do sistema, ganhando assim flexibilidade. Melhorar testes automatizados já que pode ser possível utilizar objetos mock. Ao utilizar o recurso de output cache se obtém um ganho de velocidade já que informações em cache não precisar ser recuperadas na fonte, acelerando assim a renderização das views e chamadas assíncronas, via ajax, feitas por um mesmo usuário podem facilmente ser paralelizadas com a utilização de sessionless controllers.

Resumo do DevMan

Nos dois artigos anteriores sobre o ASP.NET MVC 3 foram apresentadas diversas novidades desta nova versão do framework: Razor e sua sintaxe, helpers, atributos, filtros, validações e mais. Novidades que dizem respeito ao servidor e novidades que dizem respeito ao client side.

Nesta terceira e última parte serão vistas algumas das melhorias para trabalhar com Injeção de Dependências e Inversão de Controle com o ASP.NET MVC 3. A interface IDependencyResolver abstrai de uma maneira muito simples como o ASP.NET MVC pode resolver nossas dependências nos controllers tornando o trabalho de instanciação deste algo transparente e simples.

Uma action pode ser renderizada de forma a ser uma partial dentro de uma view. Pode-se ainda renderizar uma action diretamente dentro de uma view, ou seja, obter o conteúdo resultante da execução desta action e colocar na view, ou ainda renderizar da maneira padrão. A grande novidade é que agora o output cache também funciona para as chamadas child actions – as renderizadas como partial e diretamente na view. O ganho em economia de processamento é muito grande e a aplicação passa a ser mais responsiva e agradável do ponto de vista do usuário da mesma.

Sessionless controllers permitem que chamadas assíncronas realizadas por um mesmo usuário sejam de fato processadas em paralelo. Em razão do SessionState não ser thread-safe as chamadas assíncronas à recursos que manipulam sessão no ASP.NET são processados de forma serial, no entanto quando desabilitamos a sessão nos controllers, múltiplos requests assíncronos são de fato processados em paralelo."

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados