ASP.NET WebApi 跨域请求配置

配置WebApi

对于api服务站点,配置跨域请求,需要掌握的几点:

  • 熟悉Web.config文件节点
  • 熟悉Global.asax

首先配置Web.config文件

在配置文件中到system.webServer节点,并 追加 如下节点:

  
      
        
        "Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS"/>
        
        "Access-Control-Allow-Headers" value="x-requested-with,content-type"/>
        
        "Access-Control-Allow-Origin" value="*" />
        
      
    

然后配置Global.asax文件

在WebApiApplication : System.Web.HttpApplication
类中新增如下方法:

        /// 
        /// 跨域设置  
        /// 
        protected void Application_BeginRequest()
        {
            //OPTIONS请求方法的主要作用:
            //1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。
            //2、用来检查服务器的性能。如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。
            if (Request.Headers.AllKeys.Contains("Origin") && Request.HttpMethod == "OPTIONS")
            {
                //表示对输出的内容进行缓冲,执行page.Response.Flush()时,会等所有内容缓冲完毕,将内容发送到客户端。
                //这样就不会出错,造成页面卡死状态,让用户无限制的等下去
                Response.Flush();
            }
        }

到此配置结束。

你可能感兴趣的:(ASP.NET,Web,API,asp.net,api,服务器)