IISHttpServer - не указана схема authenticationScheme, и не найден DefaultChallengeScheme - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь развернуть Core WebAPI 2.2 (InProcess или OutOfProcess) в IIS 7.5. Я получаю ошибку ниже, а ниже код.

ошибка: Microsoft.AspNetCore.Server.IIS.Core.IISHttpServer [2] Идентификатор соединения "15636497907840974971", Идентификатор запроса "8000007e-0000-d900-b63f-84710c7967bb": прикладная программа вызвала необработанное исключение. System.InvalidOperationException: не указана схема authenticationScheme, и не найден DefaultChallengeScheme. в Microsoft.AspNetCore.Authentication.AuthenticationService.ChallengeAsync (контекст HttpContext, схема String, свойства AuthenticationProperties) в Microsoft.AspNetCore.Mvc.ChallengeResult.ExecuteResultAsync (контекст ActionContext) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeResultAsync (результат IActionResult) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResultFilterAsyncTFilter, TFilterAsync в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow (контекст ResultExecutedContext) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.ResultNext [TFilter, TFilterAsync] (Состояние и следующее, Область и область действия, Объект и состояние, Логическое значение и isCompleted) в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAlwaysRunResultFilters () в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync () в Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync () в Microsoft.AspNetCore.Routing.EndpointMiddleware.Invoke (HttpContext httpContext) в Microsoft.AspNetCore.Routing.EndpointRoutingMiddleware.Invoke (HttpContext httpContext) в Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke (контекст HttpContext) в Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke (HttpContext httpContext) в Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke (HttpContext httpContext, ISwaggerProvider swaggerProvider) в Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke (контекст HttpContext) в Microsoft.AspNetCore.Server.IIS.Core.IISHttpContextOfT`1.ProcessRequestAsync ()

Program.cs

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseIIS()
            .UseStartup<Startup>();   

Startup.cs

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        // Configure services

        services.AddAuthentication(IISDefaults.AuthenticationScheme);

        ConfigureSwagger(services);
    }

    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.UseAuthentication();
        // Enable middleware to serve generated Swagger as a JSON endpoint.
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyProject.Test V1");
        });

        app.UseMvc();
    }
...