|
Problembeskrivelse Når et cross-domain kald ASP.NET MVC eller en tjeneste skrevet ASP.NET Web API, bliver det utilgængeligt. Reproduktionsmetode
Årsagsanalyse Den grundlæggende årsag til det tværdomæne-problem er, at browseren har lave privilegier på begge forespørgsler og normalt kun tillader kald til ressourcer i det lokale domæne, medmindre målserveren eksplicit fortæller den, at tværdomænekald er tilladt. Derfor, selvom cross-domain-problemet skyldes browserens adfærd, ligger løsningen på serversiden. Fordi det ikke er muligt at kræve, at alle klienter reducerer sikkerheden.
opløsning For både ASP.NET MVC- og ASP.NET Web API-projekttyper lavede jeg noget research og fastslog, at følgende scenarie er muligt. For ASP.NET MVC behøver du kun at tilføje følgende indhold til web.config
For ASP.NET Web API'er skal der ud over ovenstående indstillinger tilføjes et særligt design, nemlig at tilføje en OPTIONS-metode for hver API-controller, men uden at returnere noget. offentlige streng-optioner() { returner null; HTTP 200-svar med tom krop }
Bemærk: Denne funktion kan også udføres med lidt research, og det kan være bedre at designe den som et filter.
|