我有一组webapi接受跨域请求。 所以,我在web.config
中设置了这些自定义标题<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
很长一段时间以来,这一直适用于跨域请求。
现在,我为web api端点添加了一种新方法来接受文件上传。我试图从另一个域调用此webapi,并且从服务器获得“405方法不允许”响应。请求方法是OPTIONS。
现在,在任何人将此作为重复关闭之前,让我澄清一下,我已经看到了其他方法的示例,如EnableCors属性。所以,我的问题不是如何接受跨域请求。如上所述,我一直在接受其他端点上的跨域请求。
我的问题是: a)为什么对这个特定端点的调用(使用OPTIONS方法请求)以405错误结束,而其他端点工作正常? (请注意,“Access-Control-Allow-Methods”值包含值中的OPTIONS)。 b)如何解决这个问题,并获得成功的api调用? (没有用于其他方法,例如enablecors atribute)