Abaixo os slides da minha palestra de ontem (01/02/2012) no Codificando Night Week
Nessa palestra falei sobre as novidades do ASP.NET MVC 4, a galera gostou bastante.
Abaixo os slides da minha palestra de ontem (01/02/2012) no Codificando Night Week
Nessa palestra falei sobre as novidades do ASP.NET MVC 4, a galera gostou bastante.
Olá Pessoal,
Na última sexta-feira (30/09/2011) tive a oportunidade juntamente com o Alexandre Tarifa no TechEd 2011 de ministrar uma palestra que queríamos fazer já há algum tempo. O título da sessão foi: Técnicas e recursos para desenvolvimento Web em cenários de grande escala.
A ideia principal da apresentação era mostrar pontos/dicas/soluções que normalmente não são considerados ou lembrados em um cenário onde o volume de acesso e requisições são enormes (temas como: custo, latência, performance, escalabilidade e etc foram discutidos).
Abaixo segue o PPT e o link para o download das DEMOS que fizemos.
PS: Para informações mais detalhadas sobre a demo de Long Polling verifiquem o Post no blog do Rodolfo Fadino
Agradeço a todos que participaram da apresentação, realmente o feedback foi muito bom, espero que tenham gostado.
Resolvi escrever este post para explicar o que são os tão conhecidos porém as vezes não entendidos Http Modules e Http Handlers, estes dois players na infraestrutura do ASP.NET fazem basicamente tudo acontecer.
Todo o funcionamento do ASP.NET é baseado nestes dois conceitos que aprenderemos a partir de agora.
Todas as requisições feitas para uma aplicação ASP.NET são tratadas através de um pipeline, este pipeline possui uma série de eventos de entrada que leva a tal requisição a um manipulador, este manipulador é o que chamamos de Http Handler (os Http Handlers também são conhecidos como Endpoints – você já entenderá o porque). Depois da requisição ser tratada por um Http Handler ela será liberada ao solicitante e dessa vez passará pelos eventos de saída do pipeline.
Perceba que na imagem o processo lembra muito um túnel (pipeline) onde a requisição passa por eventos de entrada, é tratada por um http handler e depois passa por eventos de saída até ser liberada ao solicitante da requisição.
É importante lembrar que todas as requisições passam por este eventos do pipeline (definidos por HttpApplication) .
Os Http Handlers são de fato os componentes que fazem “a coisa acontecer”, são eles que processam as requisições (ProcessRequest definido por IHttpHandler). No Web Forms por exemplo o HttpHandler que processa as requisições é o PageHandlerFactory que implementa a interface IHttpHandler, já no MVC esse papel é feito pelos handlers MvcHandler e MvcHttpHandler (dependendo da situação).
É comum nós termos que criar nossos próprios Http Handlers em algumas situacões como por exemplo um handler de imagens que possui os binários no banco de dados e ainda talvez tenham que variar os tamanhos dessas imagens. Outro exemplo seria criar um handler para prover informações em formato RSS ou CSV.
Implementar um handler não é uma tarefa muito difícil só é preciso implementar a interface IHttpHandler (Basta dar uma googlada para ver 1 bilhão de exemplos =D).
Diferente dos Http Handlers que atuam como endpoints para as requisições os Http Modules atuam nos mais variados eventos do pipeline do ASP.NET, na verdade um Http Module (quando escrito) se inscreve em um ou mais eventos do pipeline onde pode fazer diferentes coisas (olhar imagem do pipeline acima e link do HttpApplication), dessa forma dizemos que os Modules atuam como “filtros” em todo esse processo (tanto nos eventos de entrada como nos eventos de saída do pipeline).
Você pode querer criar um Http Module para por exemplo minimificar arquivos estáticos, colocar alguns headers http customizados na resposta da requisição ou ainda tratar questões de segurança e logging que são tarefas que normalmente um Http Module resolve muito bem.
Assim como os Handlers os Modules não são coisas de outro mundo para serem implementados e você pode achar milhares de exemplos facilmente no Google.
Os Http Handles e os Http Modules são parte fundamental do ASP.NET entendê-los faz de você um melhor desenvolvedor sem dúvidas, e acredite quando der zica saber bem como funciona o framework com o qual você trabalha faz toda a diferença.
Espero que este post tenha ajudado de alguma forma…
Qualquer dúvida, crítica ou sugestão por favor vamos bater um papo nos comentários.
Abraços!
Quem trabalha com ASP.NET MVC sabe o quanto as rotas são importantes para o correto funcionamento das aplicações, as rotas tem um papel fundamental e são delas que o Framework extrai informações para construção de Controllers e para o acionamento de Actions.
Mas e quando temos problemas com as rotas? O sistema deveria estar caindo em uma rota e não na outra, como verificar isso? Na verdade é meio complicado mesmo uma vez que as rotas são todas configuradas na inicialização da aplicação (AKA Application_Start do nosso querido Global.asax).
Pensando nessa dificuldade de cada dia o Phil Haack criou um package chamado RouteDebugger que tem o objetivo de nos ajudar a caçar possíveis problemas em nossas rotas.
Mão na massa!
Criei um projeto chamado MvcRouteDebugger no meu Visual Studio 2010
Com o projeto recém criado abra o Package Manager Console e instale o pacote como abaixo:
PM > Install-Package routedebugger
A instalação adiciona uma referência da Dll RouteDebugger ao projeto e uma entrada no Web.Config
A entrada no Web.Config é que define se o debug esta valendo ou não, então é aqui que você pode ativar ou desativar o RouteDebugger em sua aplicação:
<add key=”RouteDebugger:Enabled” value=”true” />
Por padrão vem ativo (true).
Executando a aplicação
Com a aplicação rodando podemos ver que quando a aplicação esta com o RouteDebugger ativo são adicionadas várias informações sobre roteamento no fim das nossas páginas, dessa forma conseguiremos de uma forma melhor analisar possíveis problemas com nossas rotas.
Espero que tenham gostado da dica.
Abraços.
Hoje estive na FIAP para ministrar uma palestra que seria em conjunto com o Alexandre Tarifa, mas infelizmente ele por motivos profissionais não pode participar.
Eu quis mostrar aspectos do ASP.NET MVC que realmente são muito legais, como por exemplo a nova View Engine Razor, Validação com Data Annotations, Segurança (XSS e CSRF), Nuget, Cache e etc.
O feedback do público foi muito bom!
Abaixo o ppt
Abs
Hoje tive o prazer de participar de um grande evento organizado pela comunidade inteiramente sobre ASP.NET MVC o MVC Summit, foram duas tracks com muito MVC pra galera e dessa vez eu pude falar sobre AJAX, JSON e CACHE.
Abaixo segue o ppt e o vídeo que gravei da palestra.
Espero que gostem
Abs
MVC Summit – Como trabalhar com AJAX, JSON e Cache no MVC from Cleber Dantas on Vimeo.
Para não passar 2010 em branco sem nenhum vídeo técnico segue uma dica sobre ASP.NET MVC bem útil (eu acho ;D), espero que gostem!
Compilação de Views no ASP.NET MVC from Cleber Dantas on Vimeo.