我需要一些帮助。我有一个angular.js前端应用程序,可以与存储在Azure中的远程ASP.NET Web API一起使用。目前我正在开发另一个我在本地存储的ASP.NET Web API。当我尝试从客户端角度应用程序登录时,我收到以下错误:
angular.js:11028 POST http://localhost:57693/Token net::ERR_CONNECTION_RESET
经过不断的研究,我发现这个错误的原因可能是HTTP访问控制(CORS),因为客户端的应用程序域是http://localhost:62071而服务器的应用程序域是http://localhost:57693。 因此,我尝试了几种不同的方法来修复此错误,但没有成功:
我在Chrome浏览器中添加了一个CORS插件但没有结果
我已将以下代码添加到asp.net web api项目中的web.config
文件中,但又没有结果:
<system.webServer>
<httpProtocol>
<customHeaders>
<!--<clear />-->
<add name="Access-Control-Allow-Credentials" value="true"/>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="*" />
<add name="Access-Control-Allow-Methods" value="*"/>
</customHeaders>
</httpProtocol>
.................
我还将此代码添加到WebApiConfig.cs文件中:
config.EnableCors(new EnableCorsAttribute(origins: "*", headers: "*", methods: "*"));
...以及Startup
类的此属性,该类在StartUp.Auth.cs
文件中声明:
[EnableCors(origins: "*", headers: "*", methods: "*", SupportsCredentials = true)]
......但又没有成功。
我也尝试了不同组合的方法 - 单独使用或与其他组合使用,我收到同样的错误。
如果有人知道如何解决此错误,请与我分享您的解决方案,因为在这种情况下我无法继续处理此项目!