RODRIGO KONO
MVP - .NET CORE, ASP.NET CORE, ALM, DEVOPS
CONTATO@RODRIGOKONO.NET
@RODRIGOKONO
YOUTUBE.COM/RODRIGOKONO
NOVIDADES
DO ASP.NET
CORE 2.1
#VSSUMMIT
.NETCORE2.1
#VSSUMMIT
DOWNLOAD
HTTPS://AKA.MS/DOTNETC
ORE21
ASP.NETCORESIGNALR
#VSSUMMIT
 A feature mais aguardada do ASP.NET Core até o momento
 Reescrito e modelo mais simplificado
 Novo cliente JavaScript que não depende do jQuery
 Não é compatível com o ASP.NET SignalR
 Gerencia conexões automaticamente
 Funciona perfeitamente com o novo Azure SignalR Service
AZURESIGNALRSERVICE
#VSSUMMIT
 Implementação do SignalR de maneira mais fácil.
 O host é fornecido no Azure
 Cada serviço suporta 1000 conexões de clientes
https://aka.ms/signalr_serviceD
RAZORCLASSLIBRARIES
#VSSUMMIT
 UI como biblioteca
 Páginas, Models e Controllers podem ser encapsulados
 Tem precedência sobre views, partial views ou razor pages
 São referenciados por Nuget ou via Project Reference
 Não é possível acessar ou comunicar com o conteúdo fora
do RCL (somente dentro do contexto)
IDENTITYUILIBRARY&SCAFFOLDING
#VSSUMMIT
 ASP.NET CORE Identity fornecido como RCL
 Aplicações que usam Identity podem fazer uso do Scaffold
 Aplicações que não têm autenticação podem usar Scaffold
 Após uso do Scaffold obtém-se um TXT com infos para
finalização do procedimento
FORÇANDOOUSODEHTTPS(HSTS)
#VSSUMMIT
 Forma de forçar o uso de HTTPS
 Implementa HSTS
 Para fazer redirecionamento de HTTP para HTTPS
 Não use RequireHttpsAttribute (pode não obedecer ou responder a instrução)
 Use UseHttpsRedirection
 Caso esteja usando useHsts, a instrução precisa vir antes do
UseHttpsRedirection
 Atenção para não usá-lo em desenvolvimento. Por padrão, o UseHsts
exclui o endereço de loopback local (127.0.0.1, localhost, [::1] "do IPv6)
GDPR
#VSSUMMIT
 Suporte para a aplicação da política de privacidade
e uso de cookies
 Cookies com consentimento do usuário
 Podem ser setados cookies essenciais que passam
direto pelo filtro.
 No template Identity existe uma page manipuladora
TESTESDEINTEGRAÇÃOEM
MEMÓRIA
#VSSUMMIT
 Garantia de funcionamento ponta a ponta
 Junção do framework de testes de unidade + TestHost +
TestServer (testes em memória)
 É preciso implementar WebApplicationFactory <TEntryPoint>.
 TEntryPoint é a classe de ponto de partida (geralmente Startup)
 WebHost é customizável
 Precisa implementar CustomWebApplicationFactory
 Classes de teste implementam a interface IClassFixture
APISMAISCLEANSCOM
APICONTROLLER
#VSSUMMIT
 Notação que atribui uma classe aos comportamentos de
uma APIController
 Geralmente acoplado ao ControllerBase
 Actions são inacessíveis pelas rotas convencionais (useMVC)
 Manipula erros de badrequest (retorna 400)
 Infere tipos complexos sem o uso de [FromBody]
SIMPLIFICANDOORETORNODAAPICOM
ACTIONRESULT<T>
#VSSUMMIT
 Trata as ações da controladora da API
 Permite retornar um tipo derivado ou um tipo específico
MELHORCONTROLECOM
HTTPCLIENTUSANDO
IHTTPCLIENTFACTORY
#VSSUMMIT
 Gerencia de melhor as múltiplas conexões de HttpClient
 Fábrica com options para criação de instâncias do HttpClient
 Configurações em um único só lugar
NAMEDCLIENTS
KESTRELVIASOCKET
#VSSUMMIT
 O transporte padrão não é mais baseado no Libuv, mas em
Manage Sockets.
 Atenção 1: ASP.NET Core 2.0 que fazem upgrade para o 2.1 e
que chamam o WebHostBuilderLibuvExtensions.UseLibuv:
 Microsoft.AspNetCore.Server.Kestrel
 Microsoft.AspNetCore.App
 Atenção 2: ASP.NET Core 2.1 ou posterior que usam o
metapacote Microsoft.AspNetCore.App e requerem o uso de
Libuv
Solução
UPDATEDASP.NETCORESPA
TEMPLATES
 ASP.NET Core projects com Angular/React/React+Redux
 Suporte ao Angular CLI e create-react-app
.NET
.NETCORE2.1ISFAST
“Using the same-size server, we were able to go from 1,000 requests per
second per node with Node.js to 20,000 requests per second with .NET Core.“
— Raygun
https://www.microsoft.com/net/customers
Data sourced from official tests available at TechEmpower Round 14.
2.6MM
599K
97K
2.9MM
662K
216K
-
500,000
1,000,000
1,500,000
2,000,000
2,500,000
3,000,000
Plaintext JSON Fortunes (data access)
RUNTIME PERFORMANCE
.NET Core 2.0 .NET Core 2.1
Data sourced from tests in our labs on same hardware as TechEmpower
ASP.NETCORE2COMQUASE7
MILHÕESDEREQUESTS
HTTPS://BLAZOR.NET
.cs
.cshtml
BROWSER
HowBlazorworks
WebAssembly
(mono.wasm)
.NET
(mscorlib.dll,
System.Core.dll,…)
App.dll
Compile to
.NET
assemblies
MUITOOBRIGADO!
#VSSUMMIT
rodrigokono.net/contato
@rodrigokono

Novidades do ASP.NET Core 2.1

Notas do Editor

  • #11  Esta é uma forma de como exigir para que em todas as solicitações seja usado o protocolo https. Ou seja, mesmo que o http seja chamado, o browser irá direcionar para o canal https. Cuidado ao usar o RequireHttpsAttribute para fazer redirecionamento de http para https. Podem não entender ou obedecer esta instrução. De toda forma, o recomendável é não escutar na HTTP, fechar a conexão retornando 400 (bad request) e não atender a solução. No ASP.NET Core, agora, você vai usar UseHttpsRedirection para fazer o redirecionamento de HTTP para HTTPS. Somente atentar para caso, você esteja chamando UseHsts na aplicação (Startup.cs), essa instrução precisa vir antes do UseHttpsRedirection. O HSTS é um aprimoramento de segurança direcionado pela OWASP e que o ASP.NET Core 2.1 implementa. Uma vez tratada a conexão com o server e direcionado ao https, o navegador irá impedir que qualquer comunicação seja realizada via HTTP. Ou seja, ele força a utilização do HTTPS, impedindo que sites sejam acessados usando o protocolo HTTP ou que parte do código de um site que está usando HTTPS seja executada em servidores usando o HTTP. Somente atenção para não usá-lo em desenvolvimento. Por padrão, o UseHsts exclui o endereço de loopback local (127.0.0.1, localhost, [::1] "do IPv6)
  • #21 20
  • #22 21
  • #23 22