ASP.NET Core 2.1 – O que esperar desta nova versão

18 abr

Fala Galera,

Recentemente foi lançado o preview do ASP.NET Core 2.1 que já esta disponivel para uso. Como é uma versão preview, o seu uso em produção não é aconselhável. Neste post abordarei algumas de suas novas funcionalidades e o que está previsto nesta nova versão.

  • SignalR: Nesta nova versão foi portado o SignalR. O SignalR é um Framework Web para aplicações Web Real Time (Web Sockets) e ele veio com algumas melhorias como:
    • Uma nova library javascript, logo não temos dependência do JQuery
    • Suporte a protocolo customizados
    • Dois protocolos Built-in
      • Texto (Json)
      • Binário (MessagePack)

 

  • HTTPS: Por Default, o ASP.NET Core será HTTPS, agora quando fizermos nossa aplicação em ASP.NET Core, um certificado self-signed será gerado para o desenvolvedor e sua aplicação rodará em HTTPS localmente.

 

  • UseHttpsRedirection: Um novo middleware foi criado para redirecionar toda a requisição HTTP para HTTPS
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        // Configure developer middlewares
    }
    else
    {
        // Configure production middlewares
    }
    app.UseHttpsRedirection();
}

 

  • Um novo tipo ActionResult<T> foi criado que permite tanto você retornar um Status Code ou um ActionResult, por exemplo:

Forma Antiga (2.0):

[HttpGet("{id}")]
[ProducesResponseType(typeof(Foo), 200)]
public IActionResult Get([FromRoute] int id)
{
    Foo result = null;

    if (!_repository.TryGetFoo(id, out result))
        return NotFound();

    return Ok(result);
}

 Forma Nova (2.1):

[HttpGet("{id}")]
public ActionResult<Foo> Get(int id)
{
    Foo result = null;
    if (!_repository.TryGetFoo(id, out result))
      return NotFound();

    return result;
}

 

  • HttpClientFactory:  Um repositório central para você gerenciar instâncias de HttpClient, ótimo quando precisamos consumir Serviços REST de terceiros como por exemplo GitHub
public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpClient("github", c =>
    {
        c.BaseAddress = new Uri("https://api.github.com/");
    });
    services.AddHttpClient();
}

public class MyController : ControllerBase 
{
   IHttpClientFactory _httpClientFactory;

   public MyController(IHttpClientFactory httpClientFactory)
   {
      _httpClientFactory = httpClientFactory;
   }

   [HttpGet]
   public IActionResult Index()
   {
      var defaultClient = _httpClientFactory.CreateClient();
      var gitHubClient = _httpClientFactory.CreateClient("github");
      var result = await gitHubClient.GetStringAsync("/orgs/octokit/repos");
      return View(result);
   }

}

 

  • ASP.NET WebHooks: Foi portado do ASP.NET WebHooks para o ASP.NET Core. WebHooks é um pattern HTTP para notificações de eventos através da Web. Nesta versão estão planejados os seguintes receivers:
    • Azure Alerts
    • Azure KUDU Notifications
    • Dynamics CRM
    • BitBucket
    • Dropbox
    • GitHub
    • MailChimp
    • Pusher
    • Salesforce
    • Slack
    • Stripe
    • Trello
    • WordPress

Nesta versão do ASP.NET Core foram introduzidas diversas novas funcionalidades como HTTPS por default, SignalR, WebHooks e além de melhorias de performance e segurança, não abordei todas as novas funcionalidades porém podemos ver o que está sendo planejado através do roadmap desta versão clicando neste link.

O ASP.NET Core está na sua versão final de preview e estamos esperando que o seu lançamento aconteça em breve.

Abs e até a próxima

One Reply to “ASP.NET Core 2.1 – O que esperar desta nova versão”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *