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
Nice!