A webes api projektek között a domainek közötti kérések elérhetőségének kezelése

Beleértve a CORS-t a web.config-ban

Most, hogy a probléma világos, töröljük a hibát. A legegyszerűbb mód a "Access-Control-Allow-Origin" fejléc felvételéhez a web.config programban. Nyissa meg a webes API-projekt web.config-jét, és adja hozzá a következő jelölést a szakaszhoz .

Itt a szakaszban hozzáadta a http-fejlécet "Access-Control-Allow-Origin" néven, és az értéke "*", ami azt jelenti, hogy minden tartományból lekérdezhető. Ez tartalmazza a Web API specifikációját. És ha futtatja az alkalmazást, akkor a hiba már nem lesz.

Támogatja a CORS specifikációt az ASP.NET Web API-ban

A webes api projektek között a domainek közötti kérések elérhetőségének kezelése

Ezután telepítheti a Microsoft ASP.NET Web API Cross Origin támogatását.

A webes api projektek között a domainek közötti kérések elérhetőségének kezelése

A csomag telepítése két olyan kapcsolatot hoz létre, amelyek felelősek a CORS támogatásáért:

A CORS támogatás alkalmazása

A Web API telepítése után a CORS támogatást követően alkalmazzuk. Ne felejtsük el eltávolítani a "Access-Control-Allow-Origin" fejlécet a web.config-ból, ha létezik. Nyissa meg a WebApiConfig.cs fájlt a Web API projektben, és adja hozzá a következő sort a Regisztrációs módszerhez:

Ez lehetővé teszi a CORS támogatását a webes API-projektben. De eddig egyetlen vezérlő sem támogatja a CORS-et. Ehhez meg kell nyitnia a ValuesController-t, és hozzá kell adnia az [EnableCors] attribútumot:

Az [EnableCors] attribútum három paramétert fogad el: domének, fejlécek és módszerek (eredet, fejlécek és módszerek). Az "*" értékek azt jelentik, hogy minden domain, fejléc és módszer rendelkezésre áll. A vezérlő attribútum lehetővé teszi, hogy hívja az összes vezérlő módszert. Ha csak néhány módszert kíván használni, akkor az attribútum eltávolítható a vezérlőből és elhelyezhető a szükséges módszerekkel.

Ez azt jelenti, hogy a Get módszer más domainek számára elérhető, és nincsenek más módszerek. Ha ki szeretné zárni a módszereket, akkor használja a [DisableCors] attribútumot:

Ebben az esetben a Get kivételével minden módszer elérhető lesz.

Tehát a CORS specifikáció lehetővé teszi az interdomain AJAX kéréseket. A CORS támogatás a webes API-projektekben a System.Web.Cors és a System.Web.Http.Cors rendszerekben valósul meg. A rendelkezésre állás elérése érdekében az [EnableCors] és a [DisableCors] attribútumokat használjuk.

Kapcsolódó cikkek