Habilitar CORS en la API web 2
Tengo un cliente y un servidor que se ejecutan en diferentes puertos. El servidor esta funcionandoAPI web 2 (v5.0.0-rc1).
Intenté instalar elPaquete de soporte de origen cruzado de la API web de Microsoft ASP.NET y habilitado enWebApiConfig.cs
. Me da laEnableCors()
Función, por lo que el paquete se instaló correctamente.
Aquí puedes ver miRegister()
funcionar enWebApiConfig.cs
:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
}
GET
las solicitudes funcionan bien. Pero al enviarPOST
, Me sale lo siguiente:
OPTIONS http://localhost:19357/api/v1/rooms? 404 (Not Found) angular.js:10159
OPTIONS http://localhost:19357/api/v1/rooms? Origin http://localhost:8000 is not allowed by Access-Control-Allow-Origin. angular.js:10159
XMLHttpRequest cannot load http://localhost:19357/api/v1/rooms. Origin http://localhost:8000 is not allowed by Access-Control-Allow-Origin.
Según Fiddler solo envía elOPTIONS
solicitud. No emite elPOST
después.
Así que estoy adivinando laconfig.EnableCors(cors);
en elWebApiConfig.cs
no está haciendo nada, lo que lleva al servidor a negar al cliente / navegador que envíe unPOST
solicitud.
¿Tienes alguna idea de cómo resolver este problema?
EDITAR 05.09.13 Esto se ha corregido en 5.0.0-rtm-130905