Сначала установите WebAPI Cors NuGet Пакет:
Install-Package Microsoft.AspNet.WebApi.Cors
Затем в WebApiConfig.cs
файле:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//other code
}
}
Этот способ позволяет заголовок CORS глобально разрешать межсайтовые запросы из любого домена. Если вы хотите, чтобы запросы межсайтовых от только одного (или список) домена, а затем изменить параметры конструктора EnableCorsAttribute
:
new EnableCorsAttribute("http://alloweddomain.com", "*", "*");
Вы также можете применить EnableCorsAttribute
на основе контроллера или действий.
Более подробную информацию о официальной документации: http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api
Это не будет работать там, где используется браузер в контролируемой среде. Также это не общее решение. Исправление на стороне сервера также устранит проблему для Firefox. – chaitu301
Я попытался настроить IIS, как указано ниже, но это также не сработало. http://webprojectsolution.blogspot.ca/2016/04/how-to-resolve-cors-issues-in-web-api.html – chaitu301