无法在ASP.NET Core 1.0中启用跨源请求(CORS)

时间:2016-04-28 22:44:27

标签: asp.net-web-api angular cors asp.net-core asp.net-core-mvc

Angular 2服务调用ASP.NET Core 1.0 Web API控制器类但我收到此错误:

enter image description here

card.service.ts: Angular 2代码。这在PROCEDURE SP (frst_name VARCHAR2 default null) AS BEGIN SELECT coalesce(frst_name, oldTable.frst_name) FROM oldTable old left join newTable new on oldTable.Id = newTable.Id END SP; 上运行。我怀疑这里有问题。

http://localhost:3000

Startup.cs: ASP.NET核心代码。在import { Injectable } from 'angular2/core'; import { Http, Response } from 'angular2/http'; import { Observable } from 'rxjs/Observable'; import { ICard } from './card'; @Injectable() export class CardService { constructor(private _http: Http) { } getCards(): Observable<ICard[]> { return this._http.get('http://localhost:8462/api/card') .map((response: Response) => <ICard[]>response.json()) .do(data => console.log("getCards: " + JSON.stringify(data))) .catch(this.handleError); } private handleError(error: Response) { console.error(error); return Observable.throw(error.json().error || 'Server error') } } 上运行。我相信修复是将CORS添加到我的Startup.cs文件中。我已经尝试过ASP.NET docs on CORS以及许多其他CORS指南而没有运气。

http://localhost:8462

2 个答案:

答案 0 :(得分:1)

我想我明白了。当我第一次做文件&gt;新项目我选择了Windows身份验证。看起来这就是造成错误的原因。

我通过使用Windows身份验证创建一个新项目并向Startup.cs添加CORS来测试它。得到了同样的错误。在没有Windows身份验证的情况下创建新项目并添加了CORS时没有收到错误。

答案 1 :(得分:0)

我有同样的问题。我的诀窍是放置&#34; UseCors ..&#34;之前&#34; UseMvc()&#34; : - )