Я получаю 405 не найдена ошибка, даже я установил CORS - PullRequest
0 голосов
/ 16 апреля 2020

Это настройка, которую я установил и использую как [EnableCors("CorsPolicy")] на контроллере. Но я все еще получаю 405 method not found.

Я часто менял политику CORS, чтобы она работала, и иногда я получаю unknown server error вместо 405 NOT FOUND. Но я не могу получить доступ к контроллеру во время отладки.

Код ниже является startup конфигурацией.

Есть ли еще причина, по которой я получаю 405 ошибку? Кроме этого?

public class Startup
{
    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.AddCors(options =>
        {
            options.AddPolicy("CorsPolicy",
            builder => builder.WithOrigins("http://localhost:4200")
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials());
        });
        services.AddControllers();
    }

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

        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseRouting();

        app.UseCors("CorsPolicy");
        // app.UseCors(x => x.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().AllowCredentials());

        app.UseAuthentication();
        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
        app.UseSpa(spa =>
        {
            spa.Options.SourcePath = "Client";
            spa.UseAngularCliServer(npmScript: "start");
        });
    }
}

...