|
Opis problemu Gdy połączenie międzydomenowe ASP.NET MVC lub usługa napisana ASP.NET API web, staje się niedostępna. Metoda rozmnażania
Analiza przyczyn Podstawowym powodem problemu międzydomenowego jest to, że przeglądarka ma niskie uprawnienia dla obu żądań i zazwyczaj pozwala na wywołania tylko do zasobów w domenie lokalnej, chyba że serwer docelowy wyraźnie informuje ją o dozwolonych połączeniach międzydomenowych. Dlatego, chociaż problem międzydomenowy jest spowodowany zachowaniem przeglądarki, rozwiązanie znajduje się po stronie serwera. Ponieważ nie jest możliwe, aby wszyscy klienci obniżali poziom bezpieczeństwa.
rozwiązanie Zarówno dla ASP.NET MVC, jak i ASP.NET projektów Web API, przeprowadziłem trochę badań i uznałem, że następujący scenariusz jest wykonalny. Dla ASP.NET MVC wystarczy dodać poniższą zawartość do web.config
Dla ASP.NET Web API, oprócz powyższych ustawień, należy dodać specjalny projekt, czyli dodać metodę OPTIONS dla każdego kontrolera API, ale bez zwracania czegokolwiek. public string Options() { return null; Odpowiedź HTTP 200 z pustą treścią }
Uwaga: tę funkcję można również zrealizować po pewnym researchu i może lepiej zaprojektować ją jako filtr.
|