【问题标题】:WebApi project deployed at Azure on Linux OS wont find routes在 Linux 操作系统上部署在 Azure 的 WebApi 项目找不到路由
【发布时间】:2020-06-24 03:40:19
【问题描述】:

我正在关注this 关于“如何使用 Linux 在 Azure 上部署 WebApi”的教程,该教程针对 .NET Core 3.1,但在我的情况下是 2.1。一切都很顺利,除了它找不到任何路线。我有一条测试路线,但找不到。

"//mywebapi.azurewebsites.com/api/Test/Test" 没有得到任何东西。

在程序类中,我启用了错误选项以显示任何错误但仍然存在。

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
        .CaptureStartupErrors(true) // the default
       .UseSetting("detailedErrors", "true")
            .UseStartup<Startup>();
}

更新!

我能够阅读日志并得到以下信息:

2020-03-12 05:23:43.022 信息 - 此容器未启用日志记录。 请使用https://aka.ms/linux-diagnostics 启用日志记录以在此处查看容器日志。 2020-03-12 05:23:44.322 信息 - 为站点 com 向容器 com_0_3b90f319 发起预热请求 2020-03-12 05:23:46.590 错误 - 站点 com 的容器 com_0_3b90f319 已退出,站点启动失败 2020-03-12 05:23:46.593 错误 - 容器 com_0_3b90f319 未响应端口:8080 上的 HTTP ping,站点启动失败。请参阅容器日志以进行调试。 2020-03-12 05:23:46.608 信息 - 停止站点 com,因为它在启动期间失败。

【问题讨论】:

  • 你能从 Startup.cs 发布你的public void ConfigureServices(IServiceCollection services) 吗?

标签: c# azure asp.net-web-api


【解决方案1】:

使用发布配置文件部署webapi时,点击App Service Linux,然后点击import your profile

记住在应用服务配置中将WEBSITE_WEBDEPLOY_USE_SCM设置为false

顺便说一句,最简单的方法是在 Visual Studio 中,右键单击您的项目并选择 Publish。点击App Service Linuxcreate New,设置你的应用服务配置,就可以正常使用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多