C# 无法从Angular UI发布到ASP.NET WebApi

C# 无法从Angular UI发布到ASP.NET WebApi,c#,asp.net,angular,asp.net-web-api,fetch,C#,Asp.net,Angular,Asp.net Web Api,Fetch,我试图将Angular应用程序中的对象发布到ASP.NET WebApi,但出现以下错误 加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为404。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 在.service.ts中,我正在发送一篇带有fetch()的帖子 这是我API中的控制器 // POST api/<controller> [HttpPo

我试图将Angular应用程序中的对象发布到ASP.NET WebApi,但出现以下错误

加载失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。因此,不允许访问源“”。响应的HTTP状态代码为404。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源

在.service.ts中,我正在发送一篇带有fetch()的帖子

这是我API中的控制器

// POST api/<controller>
[HttpPost]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public string Post([FromBody]Obj obj)
{ ... }
我想你必须在“AddMvc”/“UseMvc”之前加上“AddCors”或“UseCors” 大概是这样的:

services.AddCors(o => o.AddPolicy("AllowAllOrigins", builder =>
            {
                 builder.AllowAnyMethod()
                   .AllowAnyHeader()
                   .AllowAnyOrigin();
            }));
services.AddMvc();
或在配置方法中

app.UseCors("AllowAllOrigins");
app.UseMvc();
把这部分换一下

[EnableCors(origins: "*", headers: "*", methods: "*")]

并且不要在fetch中设置“访问控制允许来源”

试试这个,告诉我结果

app.UseCors("AllowAllOrigins");
app.UseMvc();
[EnableCors(origins: "*", headers: "*", methods: "*")]
[EnableCors("AllowAllOrigins")]