• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

162
Vistas
Solicitudes AJAX que fallan para la aplicación ASP.NET Core en Amazon Linux 2 frente a Amazon Linux 1

Tengo una aplicación web ASP.NET Core v.3.0 alojada en Amazon AWS Elastic Beanstalk usando Docker. La aplicación funciona bien en Docker con Amazon Linux de 64 bits (v2.16.11). Cuando actualizo a Docker con Amazon Linux 2 de 64 bits (v3.4.12), las solicitudes funcionan bien, excepto las solicitudes AJAX que fallan con el error de código de estado 400 "Solicitud incorrecta". Nada más ha cambiado en el código fuente, dockerfile, etc. Solo la versión de Linux ha cambiado de Amazon Linux a Amazon Linux 2. ¿Alguien tiene una idea de qué es diferente entre Amazon Linux 1 y Amazon Linux 2 que puede ser la causa que conduce a AJAX? fallan las solicitudes?

Más información:

  1. No puedo replicar este error con los ejemplos oficiales de ASP.NET core 3.1. No he actualizado mi aplicación a la v3.1, lo haré pronto y actualizaré esta pregunta.
  2. La acción relevante dentro del controlador no devuelve la vista parcial en Amazon Linux 2. El controlador proporciona un registro justo antes de devolver la vista parcial y esto no se activa en Amazon Linux 2.
  3. El archivo nginx access.log muestra la siguiente respuesta del balanceador de carga:

Amazon Linux 1: {IP} - - [10/abr/2022:07:36:01 +0000] "POST {url} HTTP/1.1" 200 3882 "{url2}" "Mozilla/5.0 (Windows NT 10.0; Win64 ; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/100.0.4896.75 Safari/537.36" "{IP2}"

Amazon Linux 2: {IP} - - [10/abr/2022:07:00:14 +0000] "POST {url} HTTP/1.1" 400 0 "{url2}" "Mozilla/5.0 (Windows NT 10.0; Win64 ; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/100.0.4896.75 Safari/537.36" "{IP2}"

  1. La llamada se realiza con jQuery 3.4.1:

     var $form = $("#inputForm"); if ($form.length <= 0) return; var data = $form.serialize(); $.ajax({ url: "...", type: "POST", data: data, error: function (jqXHR, textStatus, errorThrown) { alert("There was an error when loading the results (error type = " + errorThrown + ")."); }, success: function (result) { $("#calculationTarget").html(result) });
about 3 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El problema ya no está presente si el proyecto se actualiza de ASP.NET Core 3.0 a ASP.NET Core 3.1.

about 3 years ago · Santiago Trujillo Denunciar

0

Hay una solución muy simple, que es actualizar a ASP.NET Core 3.1 .

En esta versión, el problema que tiene está solucionado.


Consulte los pasos a continuación para actualizar.

  1. Si tiene un archivo global.json para una versión específica del .NET Core SDK , actualice la propiedad de la versión.

     { "sdk": { "version": "3.1.101" } }
  2. Actualice TFM a netcoreapp3.1 , como se describe a continuación.

     <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> </Project>
  3. Debe actualizar las referencias del paquete. Para hacer esto, actualice cada Microsoft.AspNetCore.* ( * significa comodín) a 3.1.0 (o cualquier versión posterior).

  4. Si está utilizando Docker (que creo que es), entonces necesita usar una imagen base ASP.NET Core 3.1 . Vea un ejemplo a continuación.

     $ docker pull mcr.microsoft.com/dotnet/aspnet:3.1

Para obtener información y pasos adicionales, consulte la guía oficial de migración a ASP.NET Core 3.1 .


En resumen, actualizar su aplicación actual a ASP.NET Core 3.1 debería solucionar su problema.

about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda