2013-05-17 86 views
2

我在Windows Azure的云服务中部署我的API。我想允许从前端开发人员计算机调用我的api,并且我们在使用IE10和Firefox 21.0时发现错误,但未使用Chrome 26.0和Safari 5.1.7。WebAPI CORS不适用于IE10和Firefox,但不适用于Chrome和Safari

我已经附加IE10的图像错误

http://sdrv.ms/111EPu9

在Safari工作正常

http://sdrv.ms/111EPu9

在我的web.config,因为我已经添加了这个开发用途:

<system.webServer> 
<modules runAllManagedModulesForAllRequests="false"> 
     <remove name="WebDAVModule" /> 
    </modules> 
    <handlers> 
     <remove name="WebDAV"/> 
     <remove name="OPTIONSVerbHandler"/> 
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
     <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
     <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
     <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> 
     <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
    </handlers> 
<httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS, PUT, DELETE"/> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     <add name="Access-Control-Allow-Headers" value="authenticate, accept, origin, authorization, content-type" /> 
    </customHeaders> 
</httpProtocol> 

关于此错误的任何建议/建议?

问候

回答

1

每规范,如果对OPTIONS响应不是负载应中止一个HTTP/200。不幸的是,WebKit(以及Safari和Chrome)没有正确实现该规范的这一部分。

相关问题