博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebApi使用cors配置跨域问题
阅读量:6417 次
发布时间:2019-06-23

本文共 1877 字,大约阅读时间需要 6 分钟。

1.首先安装CORS,在WebApiCors项目上面使用Nuget搜索“microsoft.aspnet.webapi.cors”,安装第一个 

2.当我们安装这个包之后,现有的packages目录下会添加两个名称分别为“Microsoft.AspNet.Cors.5.2.3”和“Microsoft.AspNet.WebApi.Cors.5.2.3”,针对保存其中的两个程序集(System.Web.Cors.dll和System.Web.Http.Cors.dll)的引用被自动添加到WebApiCors项目中 

3.在App_Start文件夹下面的WebApiConfig.cs文件夹配置跨域

public static class WebApiConfig{    public static void Register(HttpConfiguration config)    {        //跨域配置        config.EnableCors(new EnableCorsAttribute("*", "*", "*"));        // Web API 路由        config.MapHttpAttributeRoutes();        config.Routes.MapHttpRoute(            name: "DefaultApi1",            routeTemplate: "api/{controller}/{action}/{id}",            defaults: new { id = RouteParameter.Optional }        );    }}

cors支持不支持IE 7 8 9

这里写图片描述  

Cors的详细参数

 

上文我们用的是:config.EnableCors(new EnableCorsAttribute(““, ““, “*”));,这里的*号表示只要别人知道你的url,任何请求都能返回资源,这是不安全的,所以需要进行访问控制。 

配置方法一 
在Web.Config配置:

然后在WebApiConfig.cs文件配置

public static void Register(HttpConfiguration config){              //跨域配置    var allowedMethods = ConfigurationManager.AppSettings["cors:allowedMethods"];    var allowedOrigin = ConfigurationManager.AppSettings["cors:allowedOrigin"];    var allowedHeaders = ConfigurationManager.AppSettings["cors:allowedHeaders"];    var geduCors = new EnableCorsAttribute(allowedOrigin, allowedHeaders, allowedMethods)    {        SupportsCredentials = true    };    config.EnableCors(geduCors);    //config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

  如果你只想对某一些api做跨域,可以直接在API的类上面使用特性标注即可。

[EnableCors(origins: "http://localhost:8610/", headers: "*", methods: "GET,POST,PUT,DELETE")]public class AccountController : ApiController{    ///     /// 得到所有数据    ///     /// 
返回数据
[HttpGet] public string GetAllData() { return "Success"; }}

  

转载于:https://www.cnblogs.com/ZaraNet/p/9965732.html

你可能感兴趣的文章
储存卡无法打开专家教您怎么数据恢复
查看>>
彼得原理
查看>>
如何利用【百度地图API】,制作房产酒店地图?(下)——结合自己的数据库...
查看>>
[20171113]修改表结构删除列相关问题3.txt
查看>>
特征选择
查看>>
在Winform程序中设置管理员权限及为用户组添加写入权限
查看>>
RTMP直播到FMS中的AAC音频直播
查看>>
多能互补提速 加快我国能源转型和现代能源体系建设
查看>>
《JavaScript设计模式》——2.5 多种调用方式——多态
查看>>
Redis开发运维实践高可用和集群架构与实践(二)
查看>>
程序员的常见“谎话”:对,这是一个已知 Bug
查看>>
如何侦查SQL执行状态
查看>>
CentOS 7 命令行如何连接无线网络
查看>>
Ubuntu 12.04上享用新版本Linux的功能
查看>>
logstash + grok 正则语法
查看>>
Zimbra开源版(v8.6)安装说明
查看>>
Android性能优化之TraceView和Lint使用详解
查看>>
基于pgrouting的路径规划之一
查看>>
LBS核心技术解析
查看>>
Fible Channel over Convergence Enhanced Ethernet talk about
查看>>