C# CORS不使用ASP NET 5 Web Api

C# CORS不使用ASP NET 5 Web Api,c#,angularjs,asp.net-web-api,cors,asp.net-core-mvc,C#,Angularjs,Asp.net Web Api,Cors,Asp.net Core Mvc,我正在尝试对ASP.NET 5 Web Api控制器操作执行跨域POST请求。 我总是收到以下错误:“XMLHttpRequest无法加载。请求的资源上不存在“访问控制允许源站”标头。因此不允许源站“”访问。响应的HTTP状态代码为500。” 奇怪的是,只有POST方法发生了这种情况。其他方法工作正常(GET、PUT) 这是我的API配置(Startup.cs): 以及控制器: [EnableCors("AllowAll")] [Route("app/[controller]")] public

我正在尝试对ASP.NET 5 Web Api控制器操作执行跨域POST请求。 我总是收到以下错误:“XMLHttpRequest无法加载。请求的资源上不存在“访问控制允许源站”标头。因此不允许源站“”访问。响应的HTTP状态代码为500。” 奇怪的是,只有POST方法发生了这种情况。其他方法工作正常(GET、PUT) 这是我的API配置(Startup.cs):

以及控制器:

[EnableCors("AllowAll")]
[Route("app/[controller]")]
public class UsersController : Controller

// POST api/users
[HttpPost]
public IActionResult Post([FromBody]UserEntity user)
{           
    if (!ModelState.IsValid) //Valida el modelo recibido 'user'
        return new HttpStatusCodeResult(422); 
    else
    {
        UserEntity userCreated = _userServices.CreateUser(user);

        if(userCreated != null)
            return CreatedAtRoute("GetUserById", new { controller = "Users", id = userCreated.Id }, userCreated);
        else
            return new HttpStatusCodeResult(500);
    }
}
我的客户是angularjs。代码如下:

$http.post(Config.apiHost + "users", user);
我做错了什么

更新


我已经解决了这个问题。虽然浏览器显示CORS错误,但我在POST方法上有一个内部错误。

这是我在工作的Web Api中的错误。 这在App_Start=>WebApiConfig.cs文件中

    public static void Register(HttpConfiguration config)
    {

       //this enables it by calling the that method defined below.
        EnableCrossSiteRequests(config);

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }

    private static void EnableCrossSiteRequests(HttpConfiguration config)
    {
        var cors = new EnableCorsAttribute(
            origins: "*",
            headers: "*",
            methods: "*");
        config.EnableCors(cors);
    }

您是否在启动时添加了CORS配置?是的,我喜欢。我的问题只是POST方法。其他的工作正常。我看不出你的代码有任何问题。如果什么都没有发生,我建议在asp.net mvc github页面()上打开一个票证抱歉,我需要asp.net 5 Web Api的配置(新)。我的配置必须在Startup.cs类中
    public static void Register(HttpConfiguration config)
    {

       //this enables it by calling the that method defined below.
        EnableCrossSiteRequests(config);

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }

    private static void EnableCrossSiteRequests(HttpConfiguration config)
    {
        var cors = new EnableCorsAttribute(
            origins: "*",
            headers: "*",
            methods: "*");
        config.EnableCors(cors);
    }