|
Popis problému Keď sa volanie naprieč doménami ASP.NET MVC alebo služba napísaná ASP.NET Web API, stáva sa nedostupnou. Metóda rozmnožovania
Analýza príčin Základným dôvodom problému naprieč doménami je, že prehliadač má nízke oprávnenia na obe požiadavky a zvyčajne povoľuje volania len na zdroje v lokálnej doméne, pokiaľ mu cieľový server výslovne neoznámi, že sú povolené hovory cez domény. Preto, hoci je problém medzi doménami spôsobený správaním prehliadača, riešenie je na strane servera. Pretože nie je možné vyžadovať, aby všetci klienti znížili bezpečnosť.
riešenie Pre projekty ASP.NET MVC aj ASP.NET Web API som si urobil prieskum a dospel som k záveru, že nasledujúci scenár je uskutočniteľný. Pre ASP.NET MVC stačí pridať nasledujúci obsah do web.config
Pre ASP.NET webové API je okrem vyššie uvedených nastavení potrebné pridať špeciálny dizajn, ktorý spočíva v pridaní metódy OPTIONS pre každý API Controller, ale bez toho, aby sa niečo vracalo. public string Options() { return null; HTTP 200 odpoveď s prázdnym telom }
Poznámka: Túto funkciu je možné vykonať aj po určitom výskume a možno bude lepšie ju navrhnúť ako filter.
|