Middlewares ASP.NET

Preview:

Citation preview

MiddlewaresASP.NET

Bruno Belarmino▷ Arquiteto de Soluções na I-Value▷ Programador .Net, Java, Python e

NodeJS▷ Organizador e Mentor do NodeSchool

Campinas▷ Organizador do Meetup de Docker em

Campinas▷ Atualmente se divertindo muito

codando para Android e achando que sei pilotar carrinho de golf….hehe

Twitter: @brbelarmino

Agenda▷ Introdução▷ Evolução dos middlewares dentro do ASP.NET▷ Dicas de uso ▷ Demonstração

O que é um middleware?

“Middleware é uma unidade

de código que pode ser plugada dentro de um pipeline para mudar ou

incorporar funcionalidades.

Modelo de processo

Middleware

Middleware

Middleware

Middlewares dentro do ASP.NET é realmente algo

novo?

O inícioModules e Handlers

Http ModulesSão unidades de código plugadas no request pipeline do ASP.NET que respondem a eventos definidos na classe HttpApplication

Passado, presente e (not) futuro

Http HandlersÉ a unidade de código/endpoint executado em resposta a um request realizado para uma aplicação ASP.NET

Http Module

Http Handler

Destaques

▷ Orientado a eventos▷ Dificil de testar (só foi possível a partir do .Net

3.5)▷ Precisa ser registrado via Web.config▷ Só roda no IIS▷ Você não determina 100% o momento da

execução

Uma nova ordemMessage/Delegating Handlers

ASP.NET Web API ao resgate

Message/Delegating HandlersÉ uma unidade de código (classe) que recebe um request e retorna um response.

Message/Delegating Handler

Destaques

▷ Configurado via código▷ Roda dentro e fora do IIS▷ Você tem mais poder em cima do momento

execução▷ Depende do ASP.NET▷ Possível de se testar

OWIN, Katana e um futuroOwinUm novo padrão para servidores web. E uma forma que a Microsoft criou para sair do system.web.

KatanaA primeira implementação de Owin. Feita pela Microsoft.

O futuroASP.NET Core

ASP.NET CoreO ASP.NET Core é o ASP.NET que você já conhece, porém 100% aderente ao padrão OWIN e com super poderes!!!

E o que isso quer dizer?

Que nós podemos brincar de lego:

Dúvidas?

Composição de plugins/middlewares

Dúvidas?

Novo Pipeline

Anatomia de um Middleware

Destaques

▷ Configurado via código▷ Roda em qualquer lugar▷ Você tem 100% de poder em cima do momento

execução▷ Você pode até desligar o ASP.NET▷ Muito fácil de se testar

Dúvidas?

Dicas de uso

▷ Cache (dá para substituir o PostSharp..hehe)

▷ Sanitize▷ Camada Anti Corrupção ▷ Monitoramento▷ Log▷ Rate Limit▷ Web Hook

Demo

Obrigaduu!Dúvidas?Entre em contato:@brbelarminobb.belarmino@gmail.comhttp://www.brunobelarmino.com.br

Código da demo:https://github.com/brunobelarmino/aspnet-conference