.NET Framework 4.5及以上版本的Web API 配置跨域

一:

  1. 安装Microsoft.AspNet.WebApi.Cors NuGet包。

  2. 在WebApiConfig.cs文件中启用CORS:

    using System.Web.Http;
    using System.Web.Http.Cors;
    
    public static class WebApiConfig
    {
         public static void Register(HttpConfiguration config)
         {
             // 启用CORS
             var cors = new EnableCorsAttribute("*", "*", "*");
             config.EnableCors(cors);
    
            config.MapHttpAttributeRoutes();
    
             // 其他Web API配置
         }
    }

 二:

  1. 可以在控制器类或单个动作方法上使用EnableCors属性进行更细粒度的配置:

    using System.Web.Http;
    using System.Web.Http.Cors;
    
    [EnableCors(origins: "http://example.com", headers: "*", methods: "*")]
    public class MyController : ApiController
    {
         // 控制器方法
    }

这里的EnableCorsAttribute指定了允许来自http://example.com域的请求,允许任何请求头和任何HTTP方法。

需要注意的是,CORS跨域请求默认只在POST、PUT和DELETE方法下起作用。当使用其他HTTP方法时,需要在WebApiConfig.cs文件中配置config.MapHttpAttributeRoutes()来启用CORS。

三、服务器配置

iis打开http响应头

.NET Framework 4.5及以上版本的Web API 配置跨域_第1张图片.NET Framework 4.5及以上版本的Web API 配置跨域_第2张图片

 名称:Access-Control-Allow-Origin

值:*

 

另外,在Web API应用程序中使用CORS时需要小心,确保只允许来自可信任来源的请求

你可能感兴趣的:(.net)