在全局和控制器范围上EnableCors的区别
本文关键字:EnableCors 区别 范围 全局 控制器 | 更新日期: 2023-09-27 18:08:26
我遵循此页面启用跨域请求。
全局范围内的EnableCors总是有效的。
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
但是,控制器范围上的EnableCors将使用请求方法'OPTIONS'失败预飞行请求。
[EnableCors(origins: "*", headers: "*", methods: "*")]
为了让它工作,我需要添加一个自定义的delegatehandler显示在这个答案,它允许'OPTION'方法。
我在谷歌上搜索过,但没有太多关于差异的细节。有人能给我解释一下它们的区别吗?
您可以在方法级别应用EnableCors
属性,也可以在类级别或全局应用它。应用属性的级别为Web API代码中该级别及以下级别的所有请求配置CORS。
如果应用于方法级别,该策略将仅应用于该操作的请求,而如果应用于类级别,该策略将适用于对该控制器的所有请求。最后,如果全局应用,该策略将适用于所有请求