Включение веб-API межсетевого домена ASP.NET

17

У меня есть Microsoft Visual Studio Express 2013 для Интернета, версия 12.0.30501.00 Обновление 2. У меня есть решение с 2-мя проектами в нем, одно из которых - веб-api, а второе - проект MVC, предназначенный для представлений. Я создал простой веб-api, возвращающий httpresponsemessage, и я могу пойти в fiddler, и я увижу ответ json. Однако в моем втором проекте при попытке вызова через ajax я получил ошибку перекрестного домена.

Решение, которое я пытаюсь выполнить, - это Ссылка . Однако при установке Install-Package Microsoft.AspNet.WebApi.Cors -pre -project WebService в диспетчере консоли я получил ошибку, поэтому вместо этого использовал эту строку. Install-Package Microsoft.AspNet.WebApi.Cors , тогда я пытаюсь перейти к следующему шагу, который равен config.EnableCors(); его состояния, которое

'System.Web.Http.HttpConfiguration' does not contain a definition for 'EnableCors' and no extension method 'EnableCors' accepting a first argument of type 'System.Web.Http.HttpConfiguration' could be found (are you missing a using directive or an assembly reference?)

Я не уверен, что потом, я также пытаюсь добавить using System.Web.Http.Cors; , но заявить, что пространство имен не существует. Эта визуальная студия была загружена примерно 3 недели назад, я считаю, что эту функцию не сложно установить, так как она полностью поддерживается, есть ли что-то, что мне не хватает?

    
задан Jseb 19.05.2014 в 21:49
источник
  • Какова ошибка, которую вы получаете в диспетчере пакетов? Вы пытались установить этот пакет NuGet через графический интерфейс? –  SoftwareFactor 19.05.2014 в 21:54
  • , какую версию .NET вы используете? –  Jonesopolis 19.05.2014 в 21:54
  • Рамка 4.5.50938, и я не пытаюсь установить его через nuget через gui, и он устанавливается –  Jseb 19.05.2014 в 21:59

2 ответа

36

Вам необходимо установить пакет Nuget Microsoft.AspNet.WebApi.Cors

В меню в визуальной студии перейдите в Пакеты управления, а затем введите имя пакета

Примечание:
Чтобы установить из Консоль диспетчера пакетов , используйте Install-Package Microsoft.AspNet.WebApi.Cors

    
ответ дан Toan Nguyen 19.05.2014 в 21:53
источник
  • Мне пришлось установить его из командной строки, поскольку он не будет отображаться в списке. –  Demodave 14.04.2016 в 16:55
  • Install-Package Microsoft.AspNet.WebApi.Cors –  Ads 28.04.2016 в 06:10
10

установите пакет Nuget «Microsoft.AspNet.WebApi.Cors» (версия = «5.1.0»)

Добавьте в файл WebApiConfig.cs следующую строку:

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
    
ответ дан Chandrika Prajapati 20.05.2014 в 08:14
источник