我们一直在开发人员工作站上遇到此错误:
来自原点的字体' http://localhost:65314'已被封锁 通过跨源资源共享策略加载:否 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:61450'因此是不允许的 访问。
我们有三个串联运行的IIS Express站点,所有站点都设置为
app.UseCors(CorsOptions.AllowAll);
我已尝试浏览所有控制器类并添加:
[EnableCors("*", "*", "*")]
我在响应标题中看到没有效果,直到我添加了这个:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
现在响应标题显示:
Access-Control-Allow-Origin:*
我也试过添加这个,因为字体是静态内容:
<modules runAllManagedModulesForAllRequests="true">
但错误仍然存在。使用IIS Express 8。
无论如何,字体以某种方式加载 - 网络选项卡显示在获取引用的woff2文件的某个时刻发生了200次成功。
我想从Chrome调试控制台中删除此错误。
答案 0 :(得分:0)
将以下代码添加到WebApiConfig.cs的Register方法:
var corsAttr = new EnableCorsAttribute("http://localhost:65314,http://localhost:61450", "*", "*");
config.EnableCors(corsAttr);
如果错误仍然存在,请尝试从web.config中删除以下设置
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>