2011-06-29 13 views

Respuesta

47

De enable-cors.org:

CORS en ASP.NET

Si usted no tiene acceso a configurar IIS, todavía se pueden añadir la cabecera a través de ASP.NET añadiendo la siguiente línea a sus páginas de código:

Response.AppendHeader("Access-Control-Allow-Origin", "*"); 

Consulte también: Configuración IIS6/IIS7

+0

+1 Gracias, pero tengo que agregar este encabezado solo para los archivos de recursos, p. Archivos css & js –

+0

@NitinJS: ¿Por qué? – dtb

+0

Tengo algunos archivos js que se actualizan con frecuencia y quiero usarlos en otro dominio, pero no funcionan por la política de dominio cruzado –

1

Se necesitaría un módulo HTTP que se veía en el recurso solicitado y si se trataba de un css o js, ​​sería virar en el Access-Control-Allow -Origin encabezado con el URL de los solicitantes, a menos que lo desee de par en par con '*'.

4

Microsoft.AspNet.WebApi.Cors 1.Instale-paquete

2. Agregue este código en WebApiConfig.cs.

public static void Register(HttpConfiguration config) 
    { 
     // Web API configuration and services 

     // Web API routes 

     config.EnableCors(); 


     config.MapHttpAttributeRoutes(); 

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

3. Añadir este

using System.Web.Http.Cors; 

4. Añadir el código de controlador (Api) HomeController.cs

[EnableCors(origins: "*", headers: "*", methods: "*")] 

    public class HomeController:ApiController 

    { 

    [HttpGet] 

    [Route("api/Home/test")] 

    public string test() 
    { 
     return ""; 
    } 
} 
+0

este código permite CORS en un método de acción específico y no un archivo js –

8

Otra opción es añadir en el web.config directamente :

<system.webServer> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="http://www.yourSite.com" /> 
     <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/> 
     <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" /> 
     </customHeaders> 
    </httpProtocol> 

... Lo encontré en here

Cuestiones relacionadas