Leer web.api Projekt, installieren Microsoft.aspnet.webapi.cors 5.2.3, fügenWeb API 2 CORS IIS Express Debug und No Access-Control-Allow-Origin-Header
config.EnableCors();
webapiconfig. machen Controller und die Aktion
public class HomeController : ApiController
{
[EnableCors("*" , "*" , "*")]
public async Task<string> Get()
{
return await Task.FromResult("omg");
}
}
Debug-App und Laden von bis Fiedler und tun eine Anfrage an http://localhost:61939/api/Home
gibt es keine CORS-Header vorhanden. web.config enthält:
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
was bin ich dabei? Warum würde das nicht einen Access-Control-Allow-Origin-Header in alle Anfragen an meine Get-Methode einfügen?
auch die Antwort von CORS in web.config definiert, ist keine Antwort ... Irgendwann werde ich brauchen, um Ursprung Prüfung hinzufügen und möglicherweise sogar die HTTP-Methode so etwas wie Kontrolle:
if(requestContext.HttpMethod == "POST" && (origin == "https://someplace.com" || origin == "http://localhost"))
Ich bin nicht so sicher, ob ich folgen, ich bin nicht owin (app.UseCors) mit –
Leider habe ich nicht bemerkt, dass es nicht Pipelines mit .I've die Antwort bearbeitet, haben einen anderen Blick – akazemis
Ihr völlig richtig, das ist alles, was ich vermisst habe, vielen Dank! –