当前位置: 首页 > 知识库问答 >
问题:

ASP的AJAX请求失败。亚马逊Linux 2与亚马逊Linux 1中的NET Core应用程序

魏凡
2023-03-14

我有一个ASP。使用Docker托管在Amazon AWS Elastic Beanstalk中的NET Core v.3.0 web应用程序。该应用程序在运行64位Amazon Linux(v2.16.11)的Docker中运行良好。当我更新到运行64位Amazon Linux 2(v3.4.12)的Docker时,请求工作正常,但AJAX请求失败,状态代码错误为400“Bad request”。源代码、dockerfile等没有任何其他更改。只有Linux版本从Amazon Linux更改为Amazon Linux 2。有人知道Amazon Linux 1和Amazon Linux 2之间有什么不同,这可能是导致AJAX请求失败的原因吗?

更多信息:

  1. 我无法用官方ASP复制此错误。NET core 3.1示例。我还没有将我的应用程序更新到v3.1,我很快就会更新,我会更新这个问题
  2. 在Amazon Linux 2中,控制器内的相关操作不会返回部分视图。控制器在返回部分视图之前提供了一个日志,这在Amazon Linux 2中不会触发
  3. nginx访问。日志文件显示负载平衡器的以下响应:

亚马逊Linux 1:{IP}-[2022年4月10日: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,如Gecko)Chrome/100.0.4896.75 Safari/537.36“{IP2}”

AmazonLinux2:{IP} - - [10/Apr/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,如Gecko)Chrome/100.0.4896.75Safari /537.36"{IP2}"

使用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)
    });

共有2个答案

楚方伟
2023-03-14

有一个非常简单的修复程序,它正在更新到ASP. NET Core 3.1

在此版本中,您的问题已修复。

有关更新,请参阅以下步骤。

>

  • 如果您有一个global.json文件来定位特定的. NET Core SDK版本,请更新version属性。

    {
      "sdk": {
        "vershtml" target="_blank">ion": "3.1.101"
      }
    }
    

    如下所述,将TFM更新为netcoreapp3.1。

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

    您需要更新包引用。要执行此操作,请更新每个Microsoft。AspNetCore* (*表示通配符)到3.1.0(或任何更高版本)。

    如果您使用的是Docker(我认为您是),那么您需要使用ASP. NET Core 3.1基础映像。请参阅下面的示例。

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

    有关其他步骤和信息,请参阅从迁移到ASP的官方指南。NET Core 3.1。

    总之,将当前应用程序升级到ASP。NET Core 3.1应该可以解决您的问题。

  • 贾飞鸿
    2023-03-14

    如果项目是从ASP更新的,则此问题不再存在。NET Core 3.0到ASP。NET Core 3.1。

     类似资料:
    • 亚马逊云 图 1.20.2.1 - AWS AWS,即 Amazon Web Services,是亚马逊(Amazon)公司的 IaaS 和 PaaS 平台服务。AWS 提供了一整套基础设施和应用程序服务,使用户几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。AWS 面向用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云计算服务,能够帮助企业降低 IT

    • 我想问alexa各种各样的问题,最后我想让它问“你还有什么想知道的吗?”当我说“是”(yes是工作建议)时,它应该根据我的意图来建议我。就像我在

    • 我刚刚开始使用AWS EC2。我明白EC2就像一台远程计算机,在那里我可以做几乎所有我想做的事情。然后我发现了ECS的事。我知道它使用Docker,但我对这两者之间的关系感到困惑。 ECS只是EC2中的Docker安装吗?如果我已经有一个EC2并且我启动了一个ECS,这是否意味着我有两个实例?

    • 我能够从EC2实例连接到VPC中的ElastiCache Redis实例。但我想知道是否有办法连接到Amazon EC2实例之外的ElastiCache Redis节点,例如从我的本地开发设置或其他供应商提供的VPS实例。 当前在我的本地设置中尝试时: 我只在一段时间后才会暂停。

    • 但有些多重问题, 如何在.NET中对Amazon Cognito用户池执行身份验证。我以以下方式启动Auth: 他们的文档非常非常糟糕,当我想回应挑战时,我似乎找不到该通过什么。 我假设它只是用默认的JWT中间件配置OWIN,还是应该期待其他东西?

    • 我们正在开发一个系统,我们需要向数千部手机发送推送通知。我们使用Amazon SNS进行了设置。我们将向每部手机发送单独的消息,因此我们直接发送到SNSendpointARN,而不是主题ARN。 我们目前正在想这个系统的性能。我在网上找不到任何关于可以向SNS发送多少消息的内容。例如,如果我需要向25000个SNSendpoint发送25000条消息,我可以以多快的速度发送它们?秒、分钟、小时?