服务端跨域处理 Cors

时间:2022-08-28 22:45:12

1  添加 System.Web.Cors,System.Web.Http.Cors

2 global文件中 注册asp.net 管道事件

 

        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var response = HttpContext.Current.Response;

            response.AddHeader("Access-Control-Allow-Origin", "*"); //正式环境注意改成具体网站,*代表允许所有网站
            response.AddHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
            response.AddHeader("Access-Control-Max-Age", "36000");//设置跨域缓存,减少浏览器OPTIONS访问次数

            /*
             OPTIONS请求方法的主要用途有两个:
                1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
                2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。
             */

            if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
            {
                response.End();
            }

        }