我有一个Blazor WebAssembly和C#Web API托管在IIS上,当尝试发送PUT或DELETE请求到我的API时,我得到这个cors错误:
当我在我的程序中有这个时。cs:
这是我在IIS上得到的响应头:
这是不对的因为在我的本地主机上,当发送PUT或DELETE时,我得到这个返回,响应本地主机:
localhost按预期工作,但IIS不能。为什么会这样?
4xrmg8kj1#
不要混淆
它们是两种不同的东西,尽管后者通常构成前者的子集。当然,您的CORS配置允许DELETE方法:
DELETE
Access-Control-Allow-Methods: GET,PUT,POST,DELETE,PATCH,OPTIONS
但是在CORS配置中允许方法并不会自动使资源支持该方法!请注意Allow header中缺少DELETE,Allow header列出了资源支持的方法集:
Allow
Allow: GET, HEAD, OPTIONS, TRACE
列表中没有DELETE表示您的资源当前不支持该方法,响应状态(405 Method Not Allowed)是另一个线索。你得把它写进你的路线里。
405 Method Not Allowed
1条答案
按热度按时间4xrmg8kj1#
不要混淆
它们是两种不同的东西,尽管后者通常构成前者的子集。当然,您的CORS配置允许
DELETE
方法:但是在CORS配置中允许方法并不会自动使资源支持该方法!请注意
Allow
header中缺少DELETE
,Allow
header列出了资源支持的方法集:列表中没有
DELETE
表示您的资源当前不支持该方法,响应状态(405 Method Not Allowed
)是另一个线索。你得把它写进你的路线里。