Asp.net web api 否';访问控制允许原点';从angular2访问web api时出错

Asp.net web api 否';访问控制允许原点';从angular2访问web api时出错,asp.net-web-api,cors,angular2-services,accesscontrolexception,Asp.net Web Api,Cors,Angular2 Services,Accesscontrolexception,一方面,我有一个包含web api模块的ASP.net web应用程序。 在同一台机器上,我有一个angular 2客户端应用程序,它使用web api控制器crud方法。angular 2使用一个基本http服务,该服务具有运行web api的本地主机的uri和端口号。我运行web api应用程序,当angular 2尝试使用Get请求时,我收到此错误消息(22770是web api的端口,4200是angular 2应用程序的端口): 加载失败:请求的资源上不存在“Access Contro

一方面,我有一个包含web api模块的ASP.net web应用程序。 在同一台机器上,我有一个angular 2客户端应用程序,它使用web api控制器crud方法。angular 2使用一个基本http服务,该服务具有运行web api的本地主机的uri和端口号。我运行web api应用程序,当angular 2尝试使用Get请求时,我收到此错误消息(22770是web api的端口,4200是angular 2应用程序的端口):

加载失败:请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”

虽然这是一个很常见的问题,但我的问题有点不同: CORS的定义如下: 跨源资源共享(CORS)是一种使用 允许用户代理获得访问权限的附加HTTP头 来自不同来源(域)的服务器的所选资源 当前正在使用的网站

但是,我在本地计算机(localhost)上使用同一个域

问题是什么?我如何解决它?

您需要在web api中启用CORS(跨源请求)。遵循下页给出的说明


确定-在同一本地主机上工作时,对其进行了一点调查并找到了错误消息的原因-似乎不同的端口被视为不同的域。 我注意到了一个例外: “Internet Explorer在比较源时不考虑端口”

看看这个,我得到了同样的问题。