
Recentemente foi disponibilizado oficialmente o Preview 1 do .NET Core 2.1 e do ASP.NET Core 2.1. Maiores informações a respeito podem ser encontradas nos blogs oficiais da Microsoft:
Com este novo artigo dou início a uma série cobrindo as novidades do ASP.NET Core 2.1. Este primeiro traz informações sobre a instalação do Preview 1 do .NET Core 2.1, bem como do suporte a HTTPS presente nesta versão mais recente do ASP.NET Core.
E como o assunto deste artigo é ASP.NET Core, deixo aqui um convite.
Dia 15/03/2018 (quinta-feira) às 21h30 – horário de Brasília – teremos mais um hangout no Canal .NET. O assunto desta vez será o deployment de aplicações ASP.NET Core no Azure utilizando para isto o VSTS (Visual Studio Team Services). A transmissão acontecerá via YouTube em um link a ser disponibilizado em breve. Para efetuar a sua inscrição acesse a página do evento no Facebook ou então o Meetup.
Instalando o Preview 1 do .NET Core 2.1
A instalação do Preview 1 do .NET Core 2.1 pode ser obtida através do seguinte link:
Na próxima imagem está a tela inicial do instalador:

Ao executar o comando dotnet –version, após a instalação será exibida a versão 2.1.300-preview1:

Para os testes realizados neste artigo foi necessário instalar também o Preview 7 da versão 15.6 do Visual Studio 2017:

A imagem a seguir mostra que este Preview do Visual Studio já suporta o ASP.NET Core 2.1:

Suporte a HTTPS
A adoção do protocolo HTTPS em aplicações tem se tornado uma prática cada vez mais frequente dentro do desenvolvimento Web. Considerando toda a preocupação atual com a segurança das informações, browsers como Firefox e Chrome estão inclusive preparados para a exibição de alertas durante o acesso a sites considerados como desprotegidos.
Em projetos criados com o ASP.NET Core 2.1 temos agora o uso de HTTPS ativado por default. A instalação do SDK do .NET Core 2.1 prevê, inclusive, a criação de um certificado para desenvolvimento, conforme indicado na próxima imagem (referente à geração de um primeiro projeto do tipo Web API e baseado neste novo release):

Ao executar a aplicação com o comando dotnet run aparecerá uma indicação de uso das portas 5000 e 5001 para o processamento de solicitações HTTP:
- Haverá um redirecionamento automático da porta 5000 (que não emprega HTTPS) para a 5001;
- Foi habilitada na porta 5001 a utilização de HTTPS.

Um alerta será exibido ao efetuar um primeiro teste de acesso à esta API via Firefox:

A adição de uma exceção para o endereço https://localhost:5001 permitirá então o envio de solicitações às diferentes Actions desta aplicação de testes:

E com tudo isso, certamente muitos devem estar se perguntando: o que mudou em termos de código?
Analisando a classe Startup é possível observar:
- Uma chamada ao método UseHttpsRedirection em Configure, a fim de ativar o middleware de redirecionamento;
- Já a invocação do método UseHsts acionará em ambiente de produção no middleware que habilita o uso do protocolo HSTS (HTTP Strict Transport Security). Esta especificação indica que uma aplicação poderá ser acessada apenas via HTTPS.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace ExemploAPI
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseMvc();
}
}
}
Por fim, temos na imagem a seguir um exemplo de aplicação MVC executando a partir do Visual Studio 2017 e com o protocolo HTTPS ativado:

Detalhes adicionais sobre a utilização de HTTPS com o ASP.NET Core 2.1 podem ser encontrados no seguinte artigo:




