cors ist ein Mechanismus, mit dem der Webbrowser Cross -Tource -HTTP -Anforderungen durchführen kann, normalerweise für verschiedene Domänen aus der aktuellen Quelle des Browsers. Die Erleuchtung von CORs ist von entscheidender Bedeutung, um sicherzustellen, dass die nahtlose Kommunikation zwischen den Back -End -Anwendungen und dem Hosting auf der Back -End -Web -API über verschiedene Domänen oder Ports unerlässlich ist.
cors
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 ein CORS -Paket zu installieren und den CORS -Dienst zu konfigurieren:
Konfigurieren Sie als nächstes in der Methode Konfiguration die CORS Middleware, bevor Sie app.usemvc ():
aufrufen:<code class="language-csharp">services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);</code>
Dies ermöglicht die Quelle aus der angegebenen Quelle (in diesem Beispiel "
<code class="language-csharp">app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());</code>
HTTP -Methode. Die globale Konfiguration cors
Wenn Sie CORs für alle Controller und Vorgänge verwenden möchten, können Sie die Eigenschaft [EnableCors] zur Datei startup.cs hinzufügen:
Sie können MyPolicy in ConfiguresServices definieren:
<code class="language-csharp">[assembly: EnableCors(typeof(MyPolicy))]</code>
Fügen Sie den benutzerdefinierten Header
<code class="language-csharp">services.AddCors(options => { options.AddPolicy("MyPolicy", policy => policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); });</code>
hinzu
Wenn Sie einen anderen benutzerdefinierten Header in der CORS -Konfiguration angeben müssen, können Sie das Optionsobjekt in der App.Secors -Anweisung:ändern:
Dies fügt der Liste der zulässigen Köpfe X-My-Custom-Header hinzu.Die obligatorische Methode mit manuellem Header
<code class="language-csharp">app.UseCors(options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader() .WithExposedHeaders("X-My-Custom-Header"));</code>
hinzugefügt
Als alternative Methode unter Verwendung von CORS CORS Middleware können Sie die Middleware verwenden, um den erforderlichen Header jeder Antwort manuell hinzuzufügen. Diese Methode wird nicht empfohlen, kann jedoch in einigen Fällen nützlich sein, insbesondere bei der Verwendung des autorisierten Headers.Dieser mittlere Teil fügt allen Antworten den angegebenen Header hinzu, um CORs für alle Anfragen effektiv zu aktivieren.
Schlussfolgerung
<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>
Gemäß Ihren spezifischen Anforderungen können CORs in ASP.NET CORE über mehrere Methoden aktiviert werden. Gemäß den in diesem Leitfaden bezeichneten Schritten können Sie sicherstellen, dass die nahtlose Kreuzung zwischen der Frontanwendung und der hinteren Web -API Cross -Domain -Teilen von Daten und Funktionen ermöglicht.
Das obige ist der detaillierte Inhalt vonWie implementiert man Cross-Origin Resource Sharing (CORS) in der ASP.NET Core-Web-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!