我到处寻找一个好的答案。我想要解决的问题是.我有一个VS 2017 (社区)项目,它有一个带有净核心网络api后端的角锥7应用程序,所有这些都在同一个项目中。我可以使用Postman成功地测试API,并从数据库中获取一些简单的数据。然而,当我试图使用角前端做同样的,我得到一个ERRCONNREFUSED错误。
经过几次相互冲突/令人沮丧的网络搜索,以找到一个简单的答案,我开始尝试一个proxy.config.json文件。
proxy.config.json
{
"/api": {
"target": "http://localhost:8888",
"secure": false
}
}
我启动的角度应用程序通过npm和它启动端口4200如预期。
我启动了dotnet,它也成功运行了。
Startup.cs
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
package.json
{
"name": "client-app",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --proxy-config proxy.config.json",
...}
我得到的错误如下:
在尝试从localhost:4200到localhost:8888 (ERRCONNREFUSED)代理请求/api/客户端时发生了错误。
我觉得有件简单的事情我只是忽略了。
发布于 2019-01-09 05:27:57
谢谢大家的快速反应。我发现让别人问我问题很有帮助。具体来说,来自IP Kaal的关于CORS的设置。在尝试回复的过程中,我发现我没有在Startup ConfigureServices方法中注册CORS。一旦我这样做,api就像预期的那样与角前端一起工作。再次感谢大家。
https://stackoverflow.com/questions/54085865
复制相似问题