部署到测试服务器时,POST请求上的ASP.NET Web API“ 400错误请求”

卢克夫

我有一个单页应用程序(SPA),前端是AngularJS,后端是.NET Web API。一切在我的开发机器上都可以正常工作,即当我在本地主机下的Visual Studio(2015)中运行它时。但是,一旦发布到我们的测试服务器,将POST请求发送到Web API时,我会收到“ 400 Bad Request”错误。GET请求工作正常。我正在用Fiddler调试它,当我在TextView选项卡中查看时,显示“底层提供程序无法打开”。这是Fiddler的一些屏幕截图:

这是请求和响应在我的本地计算机上的外观:

Loaclhost响应标头

这是测试服务器上的响应头:

测试服务器响应头

以及测试服务器上的TextView:

测试服务器响应文本视图

通过POST请求发送的数据对于localhost和测试服务器都是相同的。同样,对于它们两个,都存在一个授权标头。除了“ Referer”和“ Host”的值之外,我注意到它们之间的唯一其他区别是,本地主机在IIS / 10.0上运行,而测试服务器在IIS / 8.0上。

调用WebAPI的AngularJS资源的代码如下:

(function () {
"use strict";

angular
    .module("mainApp")
    .factory("incidentResource", ["$resource", "baseApiUrl", incidentResource]);

/// The factory function. The Angular $resource service and the appSettings
/// constant are injected as parameters.
function incidentResource($resource, baseApiUrl) {

    return {

        generateFile: $resource(baseApiUrl + "/api/Imports/PreviewOverlay", null,
        {
            'generate': { method: 'POST' }
        })

    };
}

})();

这是从Angular代码中调用的,如下所示:

vm.generate = function () {
        incidentResource.generateFile.generate(vm.divisionImports,
            function (data) {
                vm.successMessage.show = true;
            },

            function (response) {
                vm.message = response.statusText + "\r\n";
                if (response.data.exceptionMessage) {
                  vm.message += response.data.exceptionMessage;
                }
            });
    }

最后,我的Web API控制器如下所示:

[RoutePrefix("api/Imports")]
public class ImportController : BaseController
{
    [Authorize]
    [HttpPost]
    [Route("PreviewOverlay")]
    public IHttpActionResult GenerateFile(DivisionImport[] chargedIncidents)
    {
        try
        {
            // Get the name of the user currently logged in
            string UserName = this.GetCurrentUserIdFromRequest();

            List<DivisionImport> incidentsList = new List<DivisionImport>();

            incidentsList.AddRange(chargedIncidents);

            this.incidentFileBuilder.GenerateFile(FileType.Delimited, incidentsList);

            return this.Ok();
        }
        catch (Exception ex)
        {
            return this.BadRequest(ex.Message);
        }
    }
}

[EnableCors(origins: "*", headers: "*", methods: "*")]
public class BaseController : ApiController
{
}

是什么导致此错误?

卢克夫

正如@Dan Jul指出的那样,该错误是由错误的数据库连接字符串引起的。在将代码部署到测试服务器时,我们将连接配置文件更改为另一个文件(用于测试服务器),并且其中包含带有语法错误的连接字符串。

现在一切正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

(500)内部服务器错误-使用api发送Web请求时

来自分类Dev

.NET Web API CORS预检请求

来自分类Dev

向asp.net Web API服务器的角度发布请求

来自分类Dev

对ASP.NET Web API的请求的“透明”服务器端代理

来自分类Dev

ASP.NET MVC Web Api:服务器端的application / xml PUT请求主体为null

来自分类Dev

限制由ASP.NET Web API服务的同时请求

来自分类Dev

从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

来自分类Dev

对asp.net Web API的POST请求达到某些限制时,服务器无响应

来自分类Dev

httr对API的POST请求返回400错误

来自分类Dev

在XmlHttpRequest中使用FormData将数据发布到asp.net核心Web API时出现“ 400错误请求”

来自分类Dev

错误请求400从Flutter请求ASP.Net Core 3.0

来自分类Dev

400错误的PUT呼叫请求Asp Net Web Api 2.2

来自分类Dev

Localhost WEB Api始终返回400错误请求

来自分类Dev

(500)内部服务器错误-使用api发送Web请求时

来自分类Dev

ASP.Net Web API返回“ 400(错误请求)”。参数太多?

来自分类Dev

在ASP.NET Web Api中请求“外来” Api

来自分类Dev

在Web API 2中返回带有400错误请求响应的错误消息列表

来自分类Dev

带角度的Paypal API | 400(错误请求)

来自分类Dev

对asp.net Web API的POST请求达到某些限制时,服务器无响应

来自分类Dev

尝试使用“ http:// localhost:61961 / Token”登录到Web API。收到400错误的请求错误

来自分类Dev

将asp.net核心Web API部署到IIS 7.5时出现500错误

来自分类Dev

ASP.NET Core Web API 500内部服务器错误

来自分类Dev

ASP Net Web Api HttpPost 丢失请求

来自分类Dev

400 错误:错误的请求 AutoDesk Forge Api

来自分类Dev

android - Youtube api 400 错误请求

来自分类Dev

访问模型状态错误 - Asp.Net web api 身份 - Angular 6 - Http Post 请求

来自分类Dev

ASP.NET - GET 请求上的 API 400 错误

来自分类Dev

在 ASP.NET WEB API 中处理 POST 请求时的不同值

来自分类Dev

如何从服务器端(asp.net web api / mvc)向 xamarin 表单应用程序发送请求?

Related 相关文章

  1. 1

    (500)内部服务器错误-使用api发送Web请求时

  2. 2

    .NET Web API CORS预检请求

  3. 3

    向asp.net Web API服务器的角度发布请求

  4. 4

    对ASP.NET Web API的请求的“透明”服务器端代理

  5. 5

    ASP.NET MVC Web Api:服务器端的application / xml PUT请求主体为null

  6. 6

    限制由ASP.NET Web API服务的同时请求

  7. 7

    从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

  8. 8

    对asp.net Web API的POST请求达到某些限制时,服务器无响应

  9. 9

    httr对API的POST请求返回400错误

  10. 10

    在XmlHttpRequest中使用FormData将数据发布到asp.net核心Web API时出现“ 400错误请求”

  11. 11

    错误请求400从Flutter请求ASP.Net Core 3.0

  12. 12

    400错误的PUT呼叫请求Asp Net Web Api 2.2

  13. 13

    Localhost WEB Api始终返回400错误请求

  14. 14

    (500)内部服务器错误-使用api发送Web请求时

  15. 15

    ASP.Net Web API返回“ 400(错误请求)”。参数太多?

  16. 16

    在ASP.NET Web Api中请求“外来” Api

  17. 17

    在Web API 2中返回带有400错误请求响应的错误消息列表

  18. 18

    带角度的Paypal API | 400(错误请求)

  19. 19

    对asp.net Web API的POST请求达到某些限制时,服务器无响应

  20. 20

    尝试使用“ http:// localhost:61961 / Token”登录到Web API。收到400错误的请求错误

  21. 21

    将asp.net核心Web API部署到IIS 7.5时出现500错误

  22. 22

    ASP.NET Core Web API 500内部服务器错误

  23. 23

    ASP Net Web Api HttpPost 丢失请求

  24. 24

    400 错误:错误的请求 AutoDesk Forge Api

  25. 25

    android - Youtube api 400 错误请求

  26. 26

    访问模型状态错误 - Asp.Net web api 身份 - Angular 6 - Http Post 请求

  27. 27

    ASP.NET - GET 请求上的 API 400 错误

  28. 28

    在 ASP.NET WEB API 中处理 POST 请求时的不同值

  29. 29

    如何从服务器端(asp.net web api / mvc)向 xamarin 表单应用程序发送请求?

热门标签

归档