Sementara dalam debugging VS2019 (IIS Express) layanan API dan aplikasi web menggunakan layanan yang saya terima "akses ke xmlhttprequest di 'TheService' dari asal 'apporigin' telah diblokir oleh cors ...

0
R.G.S. 5 April 2021, 18:07

2 jawaban

Jawaban Terbaik

UseCors harus dipanggil dalam urutan yang tepat. Itu harus ditempatkan setelah UseRouting, tetapi sebelum UseAuthorization. Anda dapat merujuk ini dokumen.

Tidak setiap middleware perlu masuk dalam urutan yang tepat ini, tetapi banyak yang melakukannya. Sebagai contoh: UseCors, UseAuthentication, dan UseAuthorization harus masuk ke urutan yang ditampilkan. UseCors saat ini harus pergi sebelum UseResponseCaching karena ini bug .

middleware order

0
vivek nuna 5 April 2021, 17:21

https://stackoverflow.com/users/6527049/vivek-nuna memiliki jawaban dalam komentar. pindahkan app.UseCors(options => {options.AllowAnyOrigin();}); ke setelah app.UseRouting() dan sebelum app.UseAuthorization()}

Metode konfigurasi yang benar terlihat seperti ini:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseCors(options => {
            options.AllowAnyOrigin();
        });

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });

    }
0
R.G.S. 5 April 2021, 17:05