es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

CORS no está activado aunque está configurado para la API web.

Intentando acceder a una API local creada en web API 2.0 (asp.net) desde un proyecto angular.

La solicitud resulta en:

El acceso a XMLHttpRequest en ‘http://localhost:50581/MD/GetUserMD’ desde el origen ‘http://localhost:4200’ ha sido bloqueado por la política del CORS: No se encuentra el encabezado ‘Access-Control-Allow-Origin’ en el recurso solicitado.

Pero no entiendo porque agregué EnableCors al webAPIConfig.

y especificé esto en todos los controladores.

¿Hay algo que pueda intentar para resolver este problema?

Gracias de antemano.

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que la política de CORS está bloqueando la solicitud del proyecto de Angular a la API local creada en Web API 2.0.

    Para resolver este problema, intenta agregar el paquete Microsoft.AspNet.WebApi.Cors a tu proyecto de Web API a través de NuGet. Esto proporcionará opciones de configuración adicionales para habilitar CORS en el proyecto de Web API.

    Una vez que el paquete esté instalado, puedes configurar CORS en el archivo WebApiConfig agregando el siguiente código:

    config.EnableCors();
    

    También puedes especificar políticas CORS para controladores o acciones específicas utilizando EnableCorsAttribute:

    [EnableCors(origins: "http://localhost:4200", headers: "*", methods: "*")]
    

    Asegúrate de especificar los orígenes del proyecto de Angular en el parámetroorigins del constructor de EnableCorsAttribute.

    Una vez que CORS esté habilitado en el proyecto de Web API, se deberá agregar el encabezado Access-Control-Allow-Origin a la respuesta, lo que permitirá al proyecto de Angular acceder a la API.

Comments are closed.