我们已经在Azure中设置了一个应用程序服务项目,然后使用Visual完成了项目的部署。当我转到http://MyAzureSite.azurewebsites.net (这里是复合URL )时,我可以确认服务已经启动并运行。
但是当我添加"api/ControllerName/getStatus“时,我会得到一个404错误。
从我的本地机器打来的电话运行得很好。
http://localhost:52686/api/status/getStatus
但不是:
http://MyAzureSite.azurewebsites.net/api/status/getstatus
GetStatus的签名看起来不错:
[HttpGet]
public List<Status> GetStatus()
发布于 2019-05-15 21:37:36
我们不得不再次正确地重建这个项目,它的创建方式是不一致的。
发布于 2020-07-18 15:53:52
我们在最近的.NET Core3.1LTS发行版中也遇到了同样的问题。我们发现了多种可能导致这个问题的东西。以下是我们的调查结果:
ControllerBase创建一个没有视图支持的控制器。控制器用于视图支持。我们有一个API端点,如果它正在扩展Controller,并且没有视图,则在Azure中部署时无法到达该端点。没有错误什么的。只是够不着。
如果您通过Azure Portal创建Azure/ Web,那么您一开始就无法到达任何端点。我们不知道这是为什么,但我们想出了如何使它再次工作。转到App的配置,并遵循以下步骤:
现在您应该能够再次命中API端点了。
这是我们遇到的几个问题以及解决这些问题的办法。希望他们能帮到你们,让你们免于“我们修好了它!”只是为了让它因另一个未知的原因而停止工作。我将更新这个答案,因为我发现了更多破坏App和APIs的东西,并找到了它们的解决方案。
https://stackoverflow.com/questions/55012289
复制相似问题