azure - 部署到 Azure 后收到 404

标签 azure asp.net-core azure-web-app-service webdeploy

我能够成功对 Azure 应用服务执行 Web 部署,但随后找不到 Web 应用程序。

我部署了一个在本地运行良好的 ASP.NET Core 2.2 Web 应用程序。在门户网站上,没有任何问题显示出来。当我通过例如调用它时,

https://xxxxxxxxx.azurewebsites.net/api/values 

我收到错误:

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. (404)

最佳答案

API 项目的另一个问题是,它们的 UI(通常是 Swagger UI)可能仅在开发期间可用,但在部署后就不再可用。

要检查这一点,请查看 Startup.cs 中是否有基于 env.IsDevelopment() 检查有条件运行的任何代码。例如,.NET Core Web API 模板添加以下代码:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseSwagger();
        app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApplication6 v1"));
    }

如果您将该项目的 API URL 放入开发计算机上的浏览器中,您将看到预期的 Swagger API。但是,如果您对该应用的已部署版本执行相同操作,您将收到 404,因为 env.IsDevelopment 不再为 true。

还有其他一些scenarios that can cause a 404 in this thread too .

关于azure - 部署到 Azure 后收到 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56843177/

相关文章:

azure - 网/http : TLS handshake timeout while login to Azure container registry from ubuntu

azure - 我们可以使用 Azure Web App 设置 FTP 站点吗?

c# - 基于国家/地区的多个网站

c# - .Net 6使用选项模式读取以int为键的json文件

azure-sql-database - "Data connections"天蓝色

c# - 使用 Azure Service Fabric 构建微服务的权衡和最佳实践

transactions - .net核心框架中System.Transaction程序集的TransactionScope的替代方法

c# - 如何在 asp net core 中的服务之间共享 websocket

azure - 在web api 2 azure网站中将https www重定向到https非www

asp.net - 将 ASP.net Core 2.0 部署到 Azure