Evento
Campionato do Mundo de Power BI DataViz
Feb 14, 4 PM - Mar 31, 4 PM
Con 4 posibilidades de entrar, poderías gañar un paquete de conferencias e facelo ao Live Grand Finale en Las Vegas
Máis informaciónEste explorador xa non é compatible.
Actualice a Microsoft Edge para dispoñer das funcionalidades máis recentes, as actualizacións de seguranza e a asistencia técnica.
Por Rick Anderson
El método SetCompatibilityVersion es una operación inefectiva para las aplicaciones ASP.NET Core 3.0. Es decir, llamar a SetCompatibilityVersion
con cualquier valor de CompatibilityVersion no tiene ningún impacto en la aplicación.
CompatibilityVersion
.Version_2_0
a Version_2_2
de CompatibilityVersion
están marcados como [Obsolete(...)]
.Para ver cómo funciona SetCompatibilityVersion
con las aplicaciones ASP.NET Core 2.x, seleccione la versión ASP.NET Core 2.2 de este artículo.
El método SetCompatibilityVersion permite a una aplicación ASP.NET Core 2.x participar o no en los cambios de comportamiento importantes incorporados en ASP.NET Core MVC 2.1 o 2.2. Estos cambios de comportamiento importantes suelen estar relacionados con cómo se comporta el subsistema de MVC y cómo el tiempo de ejecución llama al código. Si la aplicación participa, obtendrá el comportamiento más reciente y a largo plazo de ASP.NET Core.
El siguiente código establece el modo de compatibilidad en ASP.NET Core 2.2:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
Le recomendamos que pruebe la aplicación con la versión más reciente (CompatibilityVersion.Latest
). Prevemos que la mayoría de las aplicaciones no tendrán cambios de comportamiento importantes usando la versión más reciente.
Las aplicaciones que llaman a SetCompatibilityVersion(CompatibilityVersion.Version_2_0)
están protegidas frente a los cambios de comportamiento importantes incorporados en ASP.NET Core 2.1/2.2 MVC. Esta protección:
La compatibilidad predeterminada de las aplicaciones ASP.NET Core 2.1 y 2.2 que no llaman a SetCompatibilityVersion
es la compatibilidad 2.0. Es decir, no llamar a SetCompatibilityVersion
es igual que llamar a SetCompatibilityVersion(CompatibilityVersion.Version_2_0)
.
El siguiente código establece el modo de compatibilidad en ASP.NET Core 2.2, salvo en los siguientes comportamientos:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
// Include the 2.2 behaviors
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
// Except for the following.
.AddMvcOptions(options =>
{
// Don't combine authorize filters (keep 2.0 behavior).
options.AllowCombiningAuthorizeFilters = false;
// All exceptions thrown by an IInputFormatter are treated
// as model state errors (keep 2.0 behavior).
options.InputFormatterExceptionPolicy =
InputFormatterExceptionPolicy.AllExceptions;
});
}
En el caso de las aplicaciones que encuentran cambios de comportamiento importantes, si se usan los modificadores de compatibilidad adecuados:
En la documentación de MvcOptions se incluye una completa explicación de los cambios y por qué son una mejora para la mayoría de los usuarios.
Con ASP.NET Core 3.0, los comportamientos anteriores admitidos por los modificadores de compatibilidad se han quitado. Estamos convencidos de que estos son cambios positivos que beneficiarán a prácticamente todos los usuarios. Al introducir estos cambios en 2.1 y 2.2, la mayoría de las aplicaciones pueden beneficiarse, mientras que otras tienen tiempo para actualizarse.
Comentarios de ASP.NET Core
ASP.NET Core é un proxecto de código aberto. Selecciona unha ligazón para ofrecer comentarios:
Evento
Campionato do Mundo de Power BI DataViz
Feb 14, 4 PM - Mar 31, 4 PM
Con 4 posibilidades de entrar, poderías gañar un paquete de conferencias e facelo ao Live Grand Finale en Las Vegas
Máis informaciónFormación
Módulo
En este módulo, aprenderá cuándo, por qué y cómo modernizar una aplicación de ASP.NET Framework a ASP.NET Core utilizando el Asistente para actualización.