{
public static void Register(HttpConfiguration config)
{
//跨域配置
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
config.MapHttpAttributeRoutes();
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
public class CrossSiteAttribute: System.Web.Http.Filters.ActionFilterAttribute
{
private const string Origin = "Origin";
///
/// Access-Control-Allow-Origin是HTML5中定义的一种服务器端返回Response header,用来解决资源(比如字体)的跨域权限问题。
///
private const string AccessControlAllowOrigin = "Access-Control-Allow-Origin";
///
/// originHeaderdefault的值可以使 URL 或 *,如果是 URL 则只会允许来自该 URL 的请求,* 则允许任何域的请求
///
private string originHeaderdefault = "*";//"http://192.168.13.7:8002";
///
/// 该方法允许api支持跨域调用
///
/// 初始化 System.Web.Http.Filters.HttpActionExecutedContext 类的新实例。
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
actionExecutedContext.Response.Headers.Add(AccessControlAllowOrigin, originHeaderdefault);
}
}
2.在WebApi接口内需要引用该文件
[CrossSite] --是创建的类
public class WebApiController : ApiController
{
}
3.当前接口内就可以跨域访问了
