首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >到达Azure端点,但调用返回404错误的API

到达Azure端点,但调用返回404错误的API
EN

Stack Overflow用户
提问于 2019-03-05 22:01:58
回答 2查看 2.1K关注 0票数 3

我们已经在Azure中设置了一个应用程序服务项目,然后使用Visual完成了项目的部署。当我转到http://MyAzureSite.azurewebsites.net (这里是复合URL )时,我可以确认服务已经启动并运行。

但是当我添加"api/ControllerName/getStatus“时,我会得到一个404错误。

从我的本地机器打来的电话运行得很好。

代码语言:javascript
运行
复制
http://localhost:52686/api/status/getStatus

但不是:

代码语言:javascript
运行
复制
http://MyAzureSite.azurewebsites.net/api/status/getstatus

GetStatus的签名看起来不错:

代码语言:javascript
运行
复制
[HttpGet]
public List<Status> GetStatus()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-15 21:37:36

我们不得不再次正确地重建这个项目,它的创建方式是不一致的。

票数 1
EN

Stack Overflow用户

发布于 2020-07-18 15:53:52

我们在最近的.NET Core3.1LTS发行版中也遇到了同样的问题。我们发现了多种可能导致这个问题的东西。以下是我们的调查结果:

  1. API端点应该扩展ControllerBase而不是Controller:

ControllerBase创建一个没有视图支持的控制器。控制器用于视图支持。我们有一个API端点,如果它正在扩展Controller,并且没有视图,则在Azure中部署时无法到达该端点。没有错误什么的。只是够不着。

  1. 确保App配置为正确的堆栈。我们的web使用.NET Core3.1。如果从Visual创建它,则可能将其配置为不正确的堆栈。默认情况下,我们的Visual 2019将其配置为3.0 EOL。当我们把它改为3.1时,事情又起了作用。

  1. “从Azure Portal创建”不适用于默认配置。

如果您通过Azure Portal创建Azure/ Web,那么您一开始就无法到达任何端点。我们不知道这是为什么,但我们想出了如何使它再次工作。转到App的配置,并遵循以下步骤:

  1. 关掉“永远打开”
  2. 保存并等待应用设置
  3. 打开“永远打开”
  4. 保存并等待应用设置

现在您应该能够再次命中API端点了。

这是我们遇到的几个问题以及解决这些问题的办法。希望他们能帮到你们,让你们免于“我们修好了它!”只是为了让它因另一个未知的原因而停止工作。我将更新这个答案,因为我发现了更多破坏App和APIs的东西,并找到了它们的解决方案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55012289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档