Mendayakan CORS dalam API Web Teras ASP.NET: Panduan Lengkap
Cross-Origin Resource Sharing (CORS) ialah mekanisme yang membenarkan penyemak imbas web membuat permintaan HTTP silang asal, biasanya ke domain yang berbeza daripada asal semasa penyemak imbas. Mendayakan CORS adalah penting untuk memastikan komunikasi lancar antara aplikasi bahagian hadapan dan API web hujung belakang yang dihoskan pada domain atau port yang berbeza.
Dayakan CORS dalam Startup.cs
Cara pilihan untuk mendayakan CORS dalam ASP.NET Core adalah melalui fail Startup.cs. Dalam kaedah ConfigureServices, tambahkan baris berikut untuk memasang pakej CORS dan konfigurasikan perkhidmatan CORS:
<code class="language-csharp">services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);</code>
Seterusnya, dalam kaedah Konfigurasi, konfigurasikan perisian tengah CORS sebelum memanggil apl.UseMvc():
<code class="language-csharp">app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());</code>
Ini akan membenarkan kaedah HTTP daripada sumber yang ditentukan (dalam kes ini "https://www.php.cn/link/63e6bc520edcbaa95446b5690d989f30
CORS konfigurasi global
Jika anda ingin mendayakan CORS secara global untuk semua pengawal dan tindakan, anda boleh menambah atribut [EnableCors] pada fail Startup.cs:
<code class="language-csharp">[assembly: EnableCors(typeof(MyPolicy))]</code>
<code class="language-csharp">services.AddCors(options => { options.AddPolicy("MyPolicy", policy => policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); });</code>
Tambahkan pengepala tersuai
Jika anda perlu menentukan pengepala tersuai lain dalam konfigurasi CORS, anda boleh mengubah suai objek pilihan dalam apl.UseCors pernyataan:
<code class="language-csharp">app.UseCors(options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader() .WithExposedHeaders("X-My-Custom-Header"));</code>
Kaedah paksa menggunakan penambahan pengepala manual
Sebagai alternatif kepada menggunakan perisian tengah CORS terbina dalam, anda boleh menggunakan perisian tengah untuk menambah pengepala yang diperlukan secara manual pada setiap respons. Kaedah ini kurang disyorkan, tetapi boleh berguna dalam sesetengah situasi, terutamanya apabila menggunakan pengepala kebenaran.
<code class="language-csharp">app.Use(async (context, next) => { context.Response.Headers.Add("Access-Control-Allow-Origin", "*"); context.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT, PATCH, DELETE"); context.Response.Headers.Add("Access-Control-Allow-Headers", "X-PINGOTHER, Content-Type, Authorization"); await next(); });</code>
Kesimpulan
Terdapat beberapa cara untuk mendayakan CORS dalam Teras ASP.NET, bergantung pada keperluan khusus anda. Dengan mengikut langkah-langkah yang digariskan dalam panduan ini, anda boleh memastikan komunikasi merentas asal yang lancar antara aplikasi bahagian hadapan dan API web bahagian belakang, yang membolehkan data dan fungsi dikongsi merentas domain.Atas ialah kandungan terperinci Bagaimana Melaksanakan Perkongsian Sumber Sumber Cross-Origin (CORS) di API Web Core ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!