2013-05-17 119 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)沒有正確實現該規範的這一部分。

相關問題