Skip to main content
 首页 » 编程设计

c#之在 web api 中启用 CORS 时 "*"中允许哪些 http 方法

2024年02月04日28zdz8207

我已经使用 Cors 库在 Web API 中实现了 CORS。

   [EnableCors(origins: "*", headers: "*", methods: "*")] 

在webapi配置文件中

       config.EnableCors(); 

我使用 POST 方法调用了 api,但我仍然在控制台中遇到错误,即:请求的资源上不存在“Access-Control-Allow-Origin” header 。

然后我改变了

      [EnableCors(origins: "*", headers: "*", methods: "*")] 

到

     [EnableCors(origins: "*", headers: "*", methods: "GET, POST, PUT, DELETE, OPTIONS")] 

然后它开始工作了,我的问题是为什么它不能使用“*”允许的方法

请您参考如下方法:

Access-Control-Allow-Methods 的通配符尚未被所有浏览器支持。

  • 基于 Chromium 的浏览器应该支持它 ( issue 615313 )
  • Firefox 尚不支持它 ( bug 1309358 )
  • IE 可能不支持它,而 Edge 可能还不支持它。 Edge 将来会转向 Chromium 引擎,因此他们会在某个时候支持它。

浏览器支持也由 MDN here 跟踪,所以 future 的读者可能也想检查一下,以防这个答案过时。