SlideShare una empresa de Scribd logo
1 de 23
www.dotnetconf.net
.net core2.1
DOWNLOAD
HTTPS://AKA.MS/DOTNETCORE21
ASP.NET CORESIGNALR
 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
Azure SignalRservice
 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_service
Razor class libraries
 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)
Identity UI library& scaffolding
 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çando ouso de HTTPS(HSTS)
 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
 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
Testes deintegraçãoem memória
 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
APIs maiscleans comApiController
 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]
SimplificandooretornodaapicomActionResult<T>
 Trata as ações da controladora da API
 Permite retornar um tipo derivado ou um tipo específico
Melhor controlecom httpclientusando
IHttpClientFactory
 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
Named clients
Kestrel via socket
 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


Updated ASP.NET Core SPAtemplates
.NET
.NET Core2.1 isFast
“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.NET Core 2 com quase 7 milhões de
requests
ASP.NET Core 2.1 Recursos

Más contenido relacionado

La actualidad más candente

Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsWaldyr Felix
 
Apresentação VRaptor 3
Apresentação VRaptor 3Apresentação VRaptor 3
Apresentação VRaptor 3Alabê Duarte
 
Aplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsAplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsRafael Sales
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleJeison Barros
 
Spring: uma introdução prática
Spring: uma introdução práticaSpring: uma introdução prática
Spring: uma introdução práticaJosé Barros
 
O framework spring
O framework springO framework spring
O framework springBruno Catão
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Fabrício Lopes Sanchez
 
Mule esb teste parte 2
Mule esb teste   parte 2Mule esb teste   parte 2
Mule esb teste parte 2Jeison Barros
 
Conhecendo o asp.net core
Conhecendo o asp.net coreConhecendo o asp.net core
Conhecendo o asp.net coreNicolas Takashi
 
Integração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelIntegração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelPedro Oliveira
 
ASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhorASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhorCleber Dantas
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosphelypploch
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorJeison Barros
 

La actualidad más candente (20)

Componentes Web J2EE
Componentes Web J2EEComponentes Web J2EE
Componentes Web J2EE
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
 
Apresentação VRaptor 3
Apresentação VRaptor 3Apresentação VRaptor 3
Apresentação VRaptor 3
 
Dwrsecomp
DwrsecompDwrsecomp
Dwrsecomp
 
Aplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsAplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.js
 
ASP.NET MVC 5.x
ASP.NET MVC 5.xASP.NET MVC 5.x
ASP.NET MVC 5.x
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do mule
 
Começando com meteor
Começando com meteorComeçando com meteor
Começando com meteor
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Spring: uma introdução prática
Spring: uma introdução práticaSpring: uma introdução prática
Spring: uma introdução prática
 
O framework spring
O framework springO framework spring
O framework spring
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos? Por que Cloud Services é o melhor dos mundos?
Por que Cloud Services é o melhor dos mundos?
 
Mule esb teste parte 2
Mule esb teste   parte 2Mule esb teste   parte 2
Mule esb teste parte 2
 
Conhecendo o asp.net core
Conhecendo o asp.net coreConhecendo o asp.net core
Conhecendo o asp.net core
 
Integração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache CamelIntegração de Sistemas utilizando Apache Camel
Integração de Sistemas utilizando Apache Camel
 
Mobile tests usando AWS Device Farm
Mobile tests usando AWS Device FarmMobile tests usando AWS Device Farm
Mobile tests usando AWS Device Farm
 
ASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhorASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhor
 
Spring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutosSpring Boot - Uma app do 0 a Web em 30 minutos
Spring Boot - Uma app do 0 a Web em 30 minutos
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
 

Similar a ASP.NET Core 2.1 Recursos

Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoRenato Groff
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2Felipe Pimentel
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureLucasRomao
 
Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Ítalo Bruno
 
Introdução ASP.NET Core
Introdução ASP.NET CoreIntrodução ASP.NET Core
Introdução ASP.NET Corelacerda2
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 

Similar a ASP.NET Core 2.1 Recursos (20)

Bea Weblogic - features
Bea Weblogic - featuresBea Weblogic - features
Bea Weblogic - features
 
Resumo SCEA
Resumo SCEAResumo SCEA
Resumo SCEA
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Aop Aspect J 1.5.4
Aop Aspect J 1.5.4Aop Aspect J 1.5.4
Aop Aspect J 1.5.4
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows Azure
 
Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21
 
Introdução ASP.NET Core
Introdução ASP.NET CoreIntrodução ASP.NET Core
Introdução ASP.NET Core
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
365on Lab - Asp.Net MVC
365on Lab - Asp.Net MVC365on Lab - Asp.Net MVC
365on Lab - Asp.Net MVC
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 

Más de Rodrigo Kono

Develop using Office Graph API
Develop using Office Graph APIDevelop using Office Graph API
Develop using Office Graph APIRodrigo Kono
 
.NET no Browser - Webassembly com Blazor!
.NET no Browser - Webassembly com Blazor!.NET no Browser - Webassembly com Blazor!
.NET no Browser - Webassembly com Blazor!Rodrigo Kono
 
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
.NET para construir qualquer coisa! (Visão Geral) #dotnetconfRodrigo Kono
 
Controlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTSControlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTSRodrigo Kono
 
Ciclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaCiclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaRodrigo Kono
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreRodrigo Kono
 
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
Controle do ciclo de vida do desenvolvimento de software com tfs  vstsControle do ciclo de vida do desenvolvimento de software com tfs  vsts
Controle do ciclo de vida do desenvolvimento de software com tfs vstsRodrigo Kono
 
Desenvolvimento add in Office 2016
Desenvolvimento add in Office 2016Desenvolvimento add in Office 2016
Desenvolvimento add in Office 2016Rodrigo Kono
 
Além do código dicas de evolução profissional
Além do código   dicas de evolução profissionalAlém do código   dicas de evolução profissional
Além do código dicas de evolução profissionalRodrigo Kono
 
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALMAprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALMRodrigo Kono
 
O que você precisa saber sobre ASP.NET CORE
O que você precisa saber sobre ASP.NET COREO que você precisa saber sobre ASP.NET CORE
O que você precisa saber sobre ASP.NET CORERodrigo Kono
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no AzureRodrigo Kono
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaRodrigo Kono
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreRodrigo Kono
 
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open SourceDesenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open SourceRodrigo Kono
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptRodrigo Kono
 
TechLab de dotnet core no dotnetConf.local
TechLab de dotnet core no dotnetConf.localTechLab de dotnet core no dotnetConf.local
TechLab de dotnet core no dotnetConf.localRodrigo Kono
 
O maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooksO maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooksRodrigo Kono
 

Más de Rodrigo Kono (20)

Develop using Office Graph API
Develop using Office Graph APIDevelop using Office Graph API
Develop using Office Graph API
 
.NET no Browser - Webassembly com Blazor!
.NET no Browser - Webassembly com Blazor!.NET no Browser - Webassembly com Blazor!
.NET no Browser - Webassembly com Blazor!
 
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
.NET para construir qualquer coisa! (Visão Geral) #dotnetconf
 
Controlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTSControlando o Ciclo de Software e porque você deveria usar o VSTS
Controlando o Ciclo de Software e porque você deveria usar o VSTS
 
Ciclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a pontaCiclo de vida do desenvolvimento de software de ponta a ponta
Ciclo de vida do desenvolvimento de software de ponta a ponta
 
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net coreConhecimentos para tomar atitude e migrar sua aplicação para asp.net core
Conhecimentos para tomar atitude e migrar sua aplicação para asp.net core
 
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
Controle do ciclo de vida do desenvolvimento de software com tfs  vstsControle do ciclo de vida do desenvolvimento de software com tfs  vsts
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
 
Desenvolvimento add in Office 2016
Desenvolvimento add in Office 2016Desenvolvimento add in Office 2016
Desenvolvimento add in Office 2016
 
Além do código dicas de evolução profissional
Além do código   dicas de evolução profissionalAlém do código   dicas de evolução profissional
Além do código dicas de evolução profissional
 
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALMAprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
Aprenda a controlar sua aplicação ASP.NET Core com técnicas de DevOps e ALM
 
O que você precisa saber sobre ASP.NET CORE
O que você precisa saber sobre ASP.NET COREO que você precisa saber sobre ASP.NET CORE
O que você precisa saber sobre ASP.NET CORE
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no Azure
 
Servidor de Build e Integração Contínua
Servidor de Build e Integração ContínuaServidor de Build e Integração Contínua
Servidor de Build e Integração Contínua
 
Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
 
Abertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET CoreAbertura - Workshop ASP.NET Core
Abertura - Workshop ASP.NET Core
 
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open SourceDesenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
Desenvolvimento .NET no Linux. Veja porque a Microsoft ama Linux e Open Source
 
TypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascriptTypeScript: turbinando os poderes do desenvolvedor javascript
TypeScript: turbinando os poderes do desenvolvedor javascript
 
TechLab de dotnet core no dotnetConf.local
TechLab de dotnet core no dotnetConf.localTechLab de dotnet core no dotnetConf.local
TechLab de dotnet core no dotnetConf.local
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
O maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooksO maravilhoso mundo dos webhooks
O maravilhoso mundo dos webhooks
 

ASP.NET Core 2.1 Recursos

  • 3. ASP.NET CORESIGNALR  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
  • 4. Azure SignalRservice  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_service
  • 5.
  • 6.
  • 7.
  • 8. Razor class libraries  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)
  • 9. Identity UI library& scaffolding  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
  • 10. Forçando ouso de HTTPS(HSTS)  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)
  • 11. GDPR  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
  • 12. Testes deintegraçãoem memória  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
  • 13. APIs maiscleans comApiController  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]
  • 14. SimplificandooretornodaapicomActionResult<T>  Trata as ações da controladora da API  Permite retornar um tipo derivado ou um tipo específico
  • 15. Melhor controlecom httpclientusando IHttpClientFactory  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
  • 16.
  • 18. Kestrel via socket  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
  • 19.   Updated ASP.NET Core SPAtemplates .NET
  • 20. .NET Core2.1 isFast “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.
  • 21. 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
  • 22. ASP.NET Core 2 com quase 7 milhões de requests

Notas del editor

  1. 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)
  2. 21
  3. 22
  4. 23