Codificando Night Week: Performance Web com ASP.NET MVC

Performance é uma fator de sucesso ou fracasso para nossas aplicações, seja para melhorar a experiência do usuário ou para diminuir o uso de recursos computacionais ela é muito importante. Veja nesta apresentação os principais fatores e as principais técnicas para melhorar a performance de nossas aplicações web.

 

Evento: https://www.youtube.com/watch?v=TLHvLgdeF3w

Github:

https://github.com/rodolfofadino/DemoFrontEnd

https://github.com/rodolfofadino/DemoIISThread

Testando rotas com o MVC Route/URL Generation Unit Tester

O ASP.NET MVC é um framework de desenvolvimento web extremamente poderoso, extensível e testável. Com diversas técnicas, é possível testar cada parte de nossas aplicações.

O roteamento (Routing) do ASP.NET MVC é uma das partes mais criticas de nossas aplicações, é nela que criamos as estruturas que definirão para quais actions, controlles e quais parâmetros serão acionados de acordo com as urls das requisições que chegam em nossas aplicações. Continue reading

ActionResult no ASP.NET MVC

O ASP.NET MVC é uma framework de desenvolvimento web extremamente poderosa, nela é possível customizar, estender e criar nossas próprias implementações, tendo assim um controle total de nossas aplicações.

Sem dúvida o ActionResult faz parte do core do ASP.NET MVC, desde a sua primeira versão o ASP.NET MVC vem evoluindo e criando vários tipos que derivam dele, entender o funcionamento dessa parte do ASP.NET MVC ajuda a escolhermos a melhor solução para cada parte de nossa aplicação. Continue reading

MVC3 e Razor: Section [como sobrescrever um bloco definido na layout]

Hoje durante o trabalho tive uma dúvida da maneira de implementar uma forma de criar um bloco no arquivo Layout, ou na MasterPage (WebForms) que fosse sobrescrito por uma seção que esteja definido na view.

De uma maneira ilustrativa, eu precisava definir um rodapé no arquivo Layout que será utilizado em varias partes do site, entretanto, caso eu precise, irei sobrescrever esse rodapé na View.

Continue reading

Usando Long Polling com AsyncControllers

Long Polling é uma técnica extremamente utilizada em cenários de aplicações que exigem atualizações em tempo real com a menor latência possível, ela garante que assim que uma nova informação esteja disponível para o cliente ele seja enviada de volta, em uma conexão que já está aberta entre o cliente e o servidor. Continue reading

Controllers Assíncronos [ AsyncController] com ASP.NET MVC

Existem diversos cenários em que uma requisição pode demorar para ser processada, por exemplo em chamadas que aguardam algum retorno de um webservice, ou em chamadas que exigem consultas demoradas a base de dados ou em aplicações real-time, que ficam aguardando alguma mudança para retornar a requisição (ex: chat).

No IIS, o .NET mantém um Pool de Threads (numero limitado de Threads) que são utilizadas para processar as requisições que chegam. Quando uma requisição chega, uma Thread deste Pool é utilizada para processar a requisição. Se esta requisição é processado de uma maneira síncrona, a Thread que processa a requisição é bloqueada enquanto a solicitação é processada, e essa Thread não pode atender a outra requisição durante esse período. Continue reading

Chamada Ajax com Json e ASP.NET MVC

Um dos melhores formatos para transmitir dados de maneira assíncrona na web é o Json (JavaScript Object Notation),  já que é nativo do JavaScript e possui menor overhead de separadores que em um XML por exemplo, alem disso, é facilmente tratado por funções JS.

A idéia deste post é demonstrar uma maneira simples de trabalhar com requisições assíncronas utilizando Json, jQuery e ASP.NET MVC.

Primeiro passo vamos criar um projeto no Visual Studio do tipo ASP.NET MVC 2 Continue reading