在预检请求中,我应该使用代码进行授权错误吗?
我的意思是,我可能有两种不同的未经授权的错误:
答案 0 :(得分:0)
我有一个类似的设置,显示405错误和500错误,因为我试图在我的Web服务上运行CORS。如果Request是飞行前OPTIONS方法,我的修复基本上需要一个response.End()调用。只要OPTIONS包含在允许的调用列表中,在CORS文档中找到的web.config Web处理程序就可以了。我不需要将任何客户处理程序移动到代码中。
基本上,我的修复/设置在我的ApplicationOnBeginRequest处理程序中包含了这个ONE MAJOR FIX:
private void ApplicationOnBeginRequest( object sender, EventArgs eventArgs )
{
...
if ( context.Request.HttpMethod == "OPTIONS" )
response.End();
}
和我的web.config中的这些处理程序:
<system.webServer>
<!--Other handlers/modules ...-->
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Credentials" value="true" />
<add name="Access-Control-Allow-Headers" value="Content-Type,Accept" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>