ASP.NET Core Web API работает локально, но не в службе приложений Azure. - PullRequest
0 голосов
/ 04 февраля 2019

Я точно перешел по этой ссылке (https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-2.2&tabs=visual-studio) для создания моего веб-API.

** Локально, все работает нормально. Протестировал ссылки и вернул данные JSON

Однако, как только я развернул свой веб-API до службы приложений Azure, все мои API-ссылки возвращали мне ошибку 404. Есть ли что-то, что я мог упустить из-за маршрутизации?

В моем контроллере у меня естьдобавил это в мою голову.

[Route("api/xxx")]
[ApiController]

В каждую функцию я добавил это

[HttpPut("xxx/{Id}")]

Что касается моей программы / запуска, то она полностью совпадает с руководством

  1. Класс программы

    public class Program
    {
       public static void Main(string[] args)
       {
            CreateWebHostBuilder(args).Build().Run();
        }
    
        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>();
    }
    
  2. Startup.cs

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }
    
        app.UseHttpsRedirection();
        app.UseMvc();
    }
    

    Дайте мне знать, если вам нужна дополнительная информация. Действительно признателен за любую помощьспасибо!

1 Ответ

0 голосов
/ 05 февраля 2019

Установка web.config, как показано ниже:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
  <remove name="aspNetCore"/>
  <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
  <aspNetCore processPath="dotnet" arguments=".\Somerandomname.WebApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>

Для получения более подробной информации, вы можете обратиться к этой статье .И вот Публикация базового веб-API ASP.NET в веб-приложении служб приложений Azure , за которым вы могли бы следовать.

...