相关疑难解决方法(0)

CORS 适用于对 API 的直接请求,但不适用于静态文件(如 css)

我们正在开发一个由 AndroidMobile AppWeb API. Web API 是 Asp.net MVC Core。

我已经启用了CORS服务于我Startup.cs,因此移动应用程序的API调用是跨源访问,我收到access-control-allow-origin ?*的响应头。

API 返回给移动应用请求的部分结果是包含一些 CSS 文件的 HTML(在移动视图中显示为广告)。在移动视图中加载 HTML 时,不会加载 CSS 文件,因为它们似乎不可跨源访问。

有什么我想念的吗?我错过了任何配置步骤吗?


我的 CORS 配置如下:

public void ConfigureServices(IServiceCollection services)
{
    ...
    services.AddCors(options =>
    {
        options.AddPolicy("RTBCors",
            builder => builder.AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader()
            //.AllowCredentials()
            );
    });
    services.Configure<MvcOptions>(options =>
    {
        options.Filters.Add(new Microsoft.AspNetCore.Mvc.Cors.Internal.CorsAuthorizationFilterFactory("RTBCors"));
    });
    services.AddMvc(...);
    ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    ...
    app.UseCors("RTBCors");
    app.UseMvc(routes => .... );
    ...
}
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc cors asp.net-core-mvc

5
推荐指数
1
解决办法
1674
查看次数

标签 统计

asp.net ×1

asp.net-core-mvc ×1

asp.net-mvc ×1

cors ×1