AspNet Web API 2使CORS无法正常运行

时间:2018-12-14 16:32:42

标签: cors asp.net-web-api2

我在Web api项目中遇到了CORS的麻烦,突然CORS停止工作,无论我做什么,我总是会收到CORS错误。

我尝试的所有操作如下:

  • 将Microsoft.AspNet.WebApi.Cors从5.1.2升级到5.2.2
  • 在startup.css中使用app.UseCors(CorsOptions.Allowall)

    public void Configuration(IAppBuilder app)
    {
        app.UseCors(CorsOptions.AllowAll);
    
        HttpConfiguration config = new HttpConfiguration();
    
        config.MapHttpAttributeRoutes();
    
        ConfigureOAuth(app);
    
        app.UseWebApi(config);
    }
    
  • 在WebApiConfig.cs中启用cors

    public static void Register(HttpConfiguration config)
    {
    
        config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
    
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    
        config.Filters.Add(new CheckAuthorization());
        var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
        jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
    
        GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
    }
    
  • 在GrantResourceOwnerCredentials方法中添加标头

    context.OwinContext.Response.Headers.Add(“ Access-Control-Allow-Origin”,new [] {“ *”});

  • 在web.config文件中添加标题。

  • 使用MatchEndpoint方法添加标题。

我总是遇到相同的错误:

enter image description here

我不知道还能做什么,有什么建议吗?

谢谢

0 个答案:

没有答案