Ofe*_*Gal 8 azure webdeploy azure-web-app-service asp.net-core
我能够成功对 Azure 应用服务执行 Web 部署,但随后找不到 Web 应用程序。
我部署了一个在本地运行良好的 ASP.NET Core 2.2 Web 应用程序。在门户网站上,没有任何问题显示出来。当我通过例如调用它时,
https://xxxxxxxxx.azurewebsites.net/api/values
Run Code Online (Sandbox Code Playgroud)
我收到错误:
您正在查找的资源已被删除、更名或暂时不可用。(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"));
}
Run Code Online (Sandbox Code Playgroud)
如果您将该项目的 API URL 放入开发计算机上的浏览器中,您将看到预期的 Swagger API。但是,如果您对该应用程序的部署版本执行相同的操作,您将得到 404,因为这env.IsDevelopment
不再是正确的。
还有一些其他情况也可能导致该线程出现 404 错误。
原因是部署或默认的 ASP.NET Core Web API 模板不包含网站根目录中的默认文档。例如,index.htm、defualt.aspx、default.htm是默认文档,如果访问URL时没有提供特定文件,IIS将传递它们。
您可以将这些文件之一放入网站的根目录中,或者通过附加或默认添加到 ASP.NET Core Web API 的末尾来直接wwwroot
请求,然后您应该会收到 JSON 或 XML 响应正如预期的那样。ASP.NET Core Web API
/api/<methodname>
api/values
希望能帮助到你。
归档时间: |
|
查看次数: |
6629 次 |
最近记录: |