ASP.NET Core Web API HTTP POST在Azure中返回404

ASP.NET Core Web API HTTP POST在Azure中返回404,第1张

概述我有这个(简化的)ASP.NET Core Web API控制器. GET和POST *** 作都可以在我自己的机器上很好地工作.但是,部署到Azure只有GET *** 作才能正常工作. POST动作导致404.任何想法? namespace Foo{ using System; using System.Collections.Generic; using Microsoft.AspNetCor 我有这个(简化的)ASP.NET Core Web API控制器. GET和POST *** 作都可以在我自己的机器上很好地工作.但是,部署到Azure只有GET *** 作才能正常工作. POST动作导致404.任何想法?

namespace Foo{  using System;  using System.Collections.Generic;  using Microsoft.AspNetCore.Mvc;  [Requirehttps]  [Produces("application/Json")]  [Area("Foo")]  [Route("[area]/API/[controller]")]  public class barController : Controller  {    [httpGet]    public IEnumerable<string> Get()    {      return new[] {"Hello","World!"};    }    [httpPost]    public voID Post([FromBody] inputModel model)    {    }    public class inputModel    {      public int Foo { get; set; }    }  }}

它是一个针对完整.NET框架的ASP.NET Core MVC应用程序.它部署为Azure Web App.我已使用Postman在本地计算机和Azure中测试了这两个 *** 作.

解决方法 在某些情况下,当控制器发生错误时,ASP.NET核心返回404而不是更合适的500.看看这篇文章:

ASP.NET Core 2.0 site POST request resulting in 404 on Azure

在答案中,它是由错误的数据库连接字符串引起的(当您将应用程序发布到另一个环境时可能就是这种情况),但它可能是其他内容.

不知道为什么它不会抛出正常错误,也许它会尝试重定向到自定义错误页面或类似的东西.

要检查此建议,请尝试从POST控制器中删除所有内容以隔离问题.如果它不会返回404,则意味着控制器中的某些内容会抛出异常.

总结

以上是内存溢出为你收集整理的ASP.NET Core Web API HTTP POST在Azure中返回404全部内容,希望文章能够帮你解决ASP.NET Core Web API HTTP POST在Azure中返回404所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1239578.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存