Web API 2 - CORS - 在调试中工作,但不在IIS express中工作

时间:2017-02-20 14:03:19

标签: azure iis cors asp.net-web-api2 iis-express

过去几天我一直在努力解决以下问题:

我们有一个带有CORS实现的Web API项目。

当我在本地运行项目时,在调试模式下,一切正常。

当我尝试将项目部署到本地IIS或者我在VS中停止调试时,会出现问题。 一旦我尝试发出请求,我就会收到以下错误:

  

否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:82'因此不允许访问。

为了进一步惹恼我,当我将API部署到我们的天蓝色环境中时,一切正常,我不再收到错误了。

这是我的startup.cs和我的CORS配置:

Array ( [0] => Array ( [0] => 01000 [SQLSTATE] => 01000 [1] => 4035 [code] => 4035 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Processed 2304 pages for database 'UKBYTEDB', file 'wardobsliveisle' on file 1. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Processed 2304 pages for database 'UKBYTEDB', file 'wardobsliveisle' on file 1. ) ) 1

任何人都知道我可能会缺少什么?

2 个答案:

答案 0 :(得分:0)

我找到了解决方案!

我们有一个端点返回在CORS有机会修改响应头之前执行的异常。

这使得错误看起来像一个CORS问题,但它实际上只是我们代码中的一个内部异常。

答案 1 :(得分:-1)

尝试了几十个网站提供的一些代码和配置更改,但没有一个对我有用(VS 2019社区版+ EDGE + IISExpress)。解决方法是改用Google Chrome,然后安装名为CORS Unlock的插件。通过VS启动页面后,需要安装此插件。