Cors 即使在 webapi 配置中配置时也不工作
Cors Not working even when configuring in webapi config
我在 visual studio 中创建了一个网站 api 并且我还使用属性配置了 EnableCorsAttribute (来源:"",headers: "",methods :“*”)。现在,当我从 url 访问控制器方法时,我仍然收到此消息 "System.Collections.Generic.List`1[WebApplication1.Models.Customer]"
报错信息如下:https://i.stack.imgur.com/RvyGF.png
要在 ASP.net Core 2.0(类似于 1.*)中配置 CORS,您必须执行以下操作:
在下面的两种情况下,将代码放在 services.AddMvc() 和 app.UseMvc() 之前。
在您的 startup.cs ConfigureServices 方法中:
if (environment.IsDevelopment())
{
services.AddCors();
}
services.AddMvc();
在配置方法中:
if (environment.IsDevelopment())
{
app.UseCors(
options => options.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()
);
}
app.UseMvc();
如果您也想在生产中使用此行为,则可以跳过 if 语句。
记得参考Microsoft.AspNetCore.Cors包。
问题已解决,这是一个愚蠢的错误。我试图访问 api 控制器以外的普通控制器来调用它。我更正了它,现在我可以访问和获取数据了。
感谢大家的评论和努力。
我在 visual studio 中创建了一个网站 api 并且我还使用属性配置了 EnableCorsAttribute (来源:"",headers: "",methods :“*”)。现在,当我从 url 访问控制器方法时,我仍然收到此消息 "System.Collections.Generic.List`1[WebApplication1.Models.Customer]"
报错信息如下:https://i.stack.imgur.com/RvyGF.png
要在 ASP.net Core 2.0(类似于 1.*)中配置 CORS,您必须执行以下操作:
在下面的两种情况下,将代码放在 services.AddMvc() 和 app.UseMvc() 之前。
在您的 startup.cs ConfigureServices 方法中:
if (environment.IsDevelopment())
{
services.AddCors();
}
services.AddMvc();
在配置方法中:
if (environment.IsDevelopment())
{
app.UseCors(
options => options.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()
);
}
app.UseMvc();
如果您也想在生产中使用此行为,则可以跳过 if 语句。
记得参考Microsoft.AspNetCore.Cors包。
问题已解决,这是一个愚蠢的错误。我试图访问 api 控制器以外的普通控制器来调用它。我更正了它,现在我可以访问和获取数据了。
感谢大家的评论和努力。