我有一个托管在 Azure 应用服务中的 ASP.NET Core 2.1 应用。在本地执行时,我可以访问控制器。但是当我托管在 Azure 应用程序中时,我收到 404。以下是重现的最少步骤。
在 Visual Studio 2017 中添加一个新项目。选择 ASP.NET Core Web 应用程序。选择 ASP.NET Core 2.1,API 项目模板,无身份验证,配置为 HTTPS。将新应用作为自托管(不使用 IIS)运行。浏览到 https://localhost:5001/api/values。我得到了预期的响应(尽管命令行上有一个关于无法对 HTTPS 连接进行身份验证的异常)。
右键单击项目并选择发布。选择以创建新的应用服务。我选择了我现有的订阅、托管计划和资源组。我保留了默认的应用程序名称。创建应用程序。
浏览到 url https://app_name.azurewebsites.net,我看到了默认页面。浏览到https://appname.azurewebsites.net/api/values,我得到一个 404。
我确定我错过了一些非常愚蠢的东西,但我就是想不通。
我有一个简单的 .NET Core Web API 应用程序\xe2\x80\x94,这是创建新项目时由 Visual Studio 创建的应用程序。我想通过 FTP 将其部署到 Azure 应用服务,作为 Team Foundation Server (TFS) 2017 构建作业的一部分,这是成功的:
\n\n\n\n但是,当尝试发出GET如下 URL 之类的请求时:
http://somerandomname.azurewebsites.net/api/values\nRun Code Online (Sandbox Code Playgroud)\n\n我收到的只是一个 404,其中包含以下文字:
\n\n\n\n\n您正在查找的资源已被删除、更名或暂时不可用。
\n
从 Kudu 中,我收到以下错误:
\n\n\n\n我缺少什么?
\n