|
Problembeskrivning När ett cross-domain-anrop ASP.NET MVC eller en tjänst skriven ASP.NET Web API blir det otillgängligt. Fortplantningsmetoden
Orsaksanalys Den grundläggande orsaken till problemet med domänöverskridande är att webbläsaren har låga privilegier på båda förfrågningarna och vanligtvis bara tillåter anrop till resurser i den lokala domänen, om inte målservern uttryckligen säger att anrop över domäner är tillåtna. Därför, även om problemet med domänöverskridande domäner orsakas av webbläsarens beteende, ligger lösningen på serversidan. För det är inte möjligt att kräva att alla klienter minskar säkerheten.
lösning För både ASP.NET MVC- och ASP.NET Web API-projekttyper gjorde jag lite research och kom fram till att följande scenario är genomförbart. För ASP.NET MVC behöver du bara lägga till följande innehåll i web.config
För ASP.NET Web API:er behöver utöver ovanstående inställningar en särskild design läggas till, nämligen att lägga till en OPTIONS-metod för varje API-kontroller, men utan att returnera något. publika strängoptioner() { återvända null; HTTP 200-svar med tomt innehåll }
Observera: Denna funktion kan också göras med lite research, och det kan vara bättre att designa den som ett filter.
|