Asp.net MVC5采用Angular 2配置

时间:2017-01-05 07:52:35

标签: c# angular asp.net-web-api asp.net-mvc-5 angular-http

我是Angular 2的初学者。我正在使用Angular CLI创建Angular项目。我分别创建了asp.net MVC Web api项目。

  • 使用angular CLI命令ng serve启动此服务:localhost:4200
  • MVC web api启动此服务:localhost:65320

当我使用Angular http get 请求从localhost:65320/api/myservice下载数据时,发生了Cross origin问题。因为角项目使用不同的url。但我已经解决了Access-Control-Allow-Origin=*问题添加标题的问题。

但是当我使用http 帖子请求时,始终会返回405 method not allowed个问题

问题:

  • 如何在web api控制器中允许交叉来源发布请求?
  • 或者如何配置Angular CLI创建的项目与MVC项目一起工作?

正确答案:

本文后面的Web api cross origin问题解决了: https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#enable-cors由@chandermani建议

1 个答案:

答案 0 :(得分:0)

您可以通过两种不同的方式在Web API中启用CORS:

  1. 使用Microsoft.AspNet.WebApi.Cors:按照https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api所指示的教程Chandermani进行操作。
  2. 将以下内容添加到web.config中的system.webServer元素:

    <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> </customHeaders> </httpProtocol>