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

本文介绍了如何在ASP.NETWebAPI中启用CORS,包括在WebApiConfig.cs文件全局启用,以及在控制器或方法级别进行细粒度配置。同时提到了IIS服务器上设置Access-Control-Allow-Origin响应头来允许跨域请求,并强调了安全考虑,应确保只允许来自可信源的请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:

  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响应头

 名称:Access-Control-Allow-Origin

值:*

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值