Aprende en casa Ir a KODOTI
Aprende en casa KODOTI

Novedades de .NET Core 3

Entérate de las novedades que trae la nueva versión de .NET Core 3.

Rodríguez Patiño, Eduardo
Rodríguez Patiño, Eduardo
2020-07-07 | 1,608 lecturas

Hoy vamos a compartir las novedades que ha traido .NET Core 3, como es usual al cambiar la versión del framework se suelen cambiar sus dependencias también.

  • Mejor performance
  • Soporte para Windows Form
  • Soporte para WPF
  • New JSON APIs
  • C# 8
  • Nueva versión de SqlClient
  • Nueva versión de ASP.NET Core
  • Nueva versión de EF Core
  • Entre otras más, pero consideramos las anteriores como las más relevantes.

ASP.NET Core 3

Simplificación de los archivos .csproj

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>
</Project>

Cambia el StartUp

APIs RESTFul
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
}
MVC
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();
}
Razor Pages
public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages();
}
Razor Pages y MVC al mismo tiempo
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();
    services.AddRazorPages();
}
Cambia la configuración inicial de ruteo

El UseMvc o UseSignalR es reemplazado por UseEndpoints.

public void Configure(IApplicationBuilder app)
{
    ...

    app.UseStaticFiles();

    app.UseRouting();

    app.UseCors();

    app.UseAuthentication();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapHub<ChatHub>("/chat");
        endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
    });
}

Antes lo teníamos así

public void Configure(IApplicationBuilder app)
{
    ...

    app.UseStaticFiles();

    app.UseAuthentication();

    app.UseSignalR(hubs =>
    {
        hubs.MapHub<ChatHub>("/chat");
    });

    app.UseMvc(routes =>
    {
        routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
    });
}
Más sencillo trabajar con CORS

Ahora podemos indicar facilmente cuando queremos que un controlador deshabilite nuestra especifición CORS.

[DisableCors]
public class MyController : ControllerBase
{
    ...
}

Estas serían las cosas más relevantes entre las nuevas novedades.

Conclusiones

Con respecto a lo aprendido en ASP.NET Core 2.2 realmente los cambios son más que nada de configuración del StartUp porque el conocimiento de como crear un proyecto, la estructura MVC y lo demás se mantiene igual.

Pd. tenemos un deuda de migrar KODOTI a la nueva versión de .NET Core 3.


Estudia con nosotros

🚀 Mejora tus oportunidades laborales