Решить ошибку 404 при размещении netcore 2.1 web api в IIS - PullRequest
0 голосов
/ 17 июня 2019

Я публикую проект .netcore 2.1 web api в IIS, но получаю ошибку 404.Я могу запустить приложение из Visual Studio и оно работает с swagger.

уже установил среду выполнения Netcore 2.1, перезапустил среды, выбрал «Нет управляемого кода» в моем пуле приложений, но все равно получаю ошибку 404.

мой launchSettings.json выглядит так:

{
  "$schema": "http://json.schemastore.org/launchsettings.json",
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:65391",
      "sslPort": 44318
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "QAAPI": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrl": "https://localhost:5001",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

мой Startup.cs:

public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {

            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            services.AddSwaggerGen(c =>
               {
                   c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info { Title = "QA API", Description = ""});

               }
            );

        }


        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseMvc();

            app.UseSwagger();
            app.UseSwaggerUI( c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.json", "QA API");
                }
            );
        }

1 Ответ

0 голосов
/ 09 июля 2019

Вы проверили идентичность пула приложений в настройках IIS?

enter image description here

...