我正在研究ASP.NET Core项目,并且想在我的应用程序中启用CORS。我从ASP.NET Core documentation开始,我很困惑为什么我们不能将两种方法结合在一起,如下所示:
您可以使用
[EnableCors]
属性将不同的策略应用于控制器/页面模型/操作。当将[EnableCors]
属性应用于控制器/页面模型/操作方法,并且在中间件中启用了CORS时,将同时应用两个策略。我们建议您不要合并政策。使用[EnableCors]
属性或中间件,不能同时在同一应用中使用。
答案 0 :(得分:1)
为什么要呢? 结果是:启用CORS或不启用(针对一种资源)。
您可以通过在控制器/操作方法上使用属性语法([EnableCors]
)来执行此操作,也可以像在示例中那样使用fluent-api-design
services.AddCors(options => options...);
但是您仍然可以以一种或另一种方式为指定资源启用或不启用CORS。 选择哪一个无关紧要,取决于您的应用程序。
Microsoft一次反对这两种方法的建议是因为这是多余的,并且可能会引起混乱。