2015-01-05 6 views
0

У меня есть ASP.NET WEB Api на IIS на localhost, и у меня есть другое приложение MVC, которое на IIS Express. Я хотел бы назвать веб-api из jquery ajax, но это не удастся.ASP.NET WEB API на localhost

Web API: localhost/WebApi/api/values

MVC приложение: localhost:44305/

Я использую IE 11. Я проверил с стелькой, что запрос не обрабатывать, но я получаю сообщение об ошибке:

"0:Error:Access Denied". 

Кто-нибудь может мне помочь?

ответ

2

Это проблема с запросами на перекрестное происхождение. Вы должны EnableCors() в вашем приложении web.api

Открыть файл App_Start/WebApiConfig.cs. Добавьте следующий код в метод WebApiConfig.Register.

using System.Web.Http; 
namespace WebService 
{ 
    public static class WebApiConfig 
    { 
     public static void Register(HttpConfiguration config) 
     { 
     // New code 
     config.EnableCors(); 

     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
    } 
} 
} 

Для более детального взгляда на this page

+0

да что, вероятно, проблема. OP мог бы включить гораздо больше информации, чтобы помочь, хотя – Jonesopolis

+0

Вы можете найти подробную информацию о [http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web -api] (http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api) –