„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So implementieren Sie Cross-Domain-Ressourcenfreigabe (CORS) in der ASP.NET-Web-API?

So implementieren Sie Cross-Domain-Ressourcenfreigabe (CORS) in der ASP.NET-Web-API?

Gepostet am 2025-04-30
Durchsuche:266

How to Implement Cross-Origin Resource Sharing (CORS) in ASP.NET Core Web API?

Aktivieren Sie CORs in der ASP.NET CORE Web API: Complete Guide

Cross-Origin-Ressourcenfreigabe (CORS) ist ein Mechanismus, mit dem Webbrowser Cross-Origin-HTTP-Anforderungen erstellen können, normalerweise für Domänen, die sich von der aktuellen Quelle des Browsers unterscheiden. Das Aktivieren von CORs ist entscheidend, um eine nahtlose Kommunikation zwischen Front-End-Anwendungen und Back-End-Web-APIs zu gewährleisten, die auf verschiedenen Domänen oder Ports gehostet werden.

aktivieren cors

in startup.cs

Die bevorzugte Methode zum Aktivieren von CORs im ASP.NET -Kern erfolgt über die Datei startup.cs. Fügen Sie in der Methode configureServices die folgenden Zeilen hinzu, um das CORS -Paket zu installieren und den CORS -Dienst zu konfigurieren:

services.AddCors();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

Konfigurieren Sie als nächstes in der Methode Konfiguration die CORS Middleware, bevor Sie app.usemvc () aufrufen:

app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());
http://example.com"), eine

http -Methode zu verwenden.

Globale Konfiguration cors

] Wenn Sie CORs für alle Controller und Operationen global aktivieren möchten, können Sie die Eigenschaft [EnableCors] zur Datei startup.cs hinzufügen:

[Assembly: EnableCors (typeof (mypolicy))]
[assembly: EnableCors(typeof(MyPolicy))]

Services.addcors (options => { options.addpolicy ("mypolicy", Policy => Policy.Allowanyorigin (). denanymethod (). deglyHeader ()); });
services.AddCors(options =>
{
    options.AddPolicy("MyPolicy",
        policy => policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
});

add benutzerdefinierte header

Wenn Sie andere benutzerdefinierte Header in der CORS -Konfiguration angeben müssen, können Sie das Optionsobjekt in der Anweisung von App.USECORS ändern:

app.usecors (options => options .WitHexposedheaders ("X-my-Custom-Header"));
app.UseCors(options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()
    .WithExposedHeaders("X-My-Custom-Header"));

erzwungene Methode mit manuellem Header hinzugefügt

Alternative zur Verwendung der integrierten CORS Middleware können Sie die erforderlichen Header mit der Middleware manuell zu jeder Antwort hinzufügen. Diese Methode ist nicht sehr empfohlen, kann jedoch in einigen Fällen nützlich sein, insbesondere bei der Verwendung von Autorisierungsheadern.

app.use (async (context, next) => { context.Response.Headerers.add ("Access-Control-Allow-Origin", "*"); context.Response.Headerers.add ("Access-Control-Blox-Methoden", "Get, popt, patt, patch, löschen"); context.Response.Headerers.add ("Access-Control-Allow-Header", "X-Pingother, Inhaltstyp, Autorisierung"); auf nächstes () warten; });
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();
});

abschließend

Abhängig von Ihren spezifischen Anforderungen gibt es verschiedene Möglichkeiten, CORs in ASP.NET Core zu aktivieren. Befolgen Sie die in diesem Handbuch beschriebenen Schritte, können Sie eine nahtlose Kommunikation zwischen Front-End- und Back-End-Web-APIs sicherstellen, sodass Daten und Funktionen über Bereiche geteilt werden können.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3