Cors即使在webapi配置中配置也不起作用

时间:2018-01-14 09:27:41

标签: c# angular asp.net-web-api asp.net-web-api2 asp.net-core-webapi

我在visual studio中创建了一个web api,我还使用属性配置了EnableCorsAttribute(起源:" ",header:" ",方法:" *")。现在,当我从url访问控制器的方法时,我仍然收到此消息" System.Collections.Generic.List`1 [WebApplication1.Models.Customer]"
错误信息如下:https://i.stack.imgur.com/RvyGF.png

2 个答案:

答案 0 :(得分:0)

要在ASP.net Core 2.0中配置CORS(类似于1. *),您必须执行以下操作:

在下面两种情况下,将代码放在services.AddMvc()和app.UseMvc()之前。

在ConfigureServices方法的startup.cs中:

        if (environment.IsDevelopment())
        {
            services.AddCors();
        }
        services.AddMvc();
配置方法中的

        if (environment.IsDevelopment())
        {
            app.UseCors(
                options => options.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod()
            );
        }
        app.UseMvc();

如果您也希望在生产中使用此行为,则可以跳过if语句。

请记住引用Microsoft.AspNetCore.Cors包。

答案 1 :(得分:0)

问题解决了,这是一个愚蠢的错误。我试图访问除api控制器之外的普通控制器来调用它。我纠正了它,现在我能够访问和获取数据。

感谢大家的意见和努力。