我正在将我的 asp.net web api 迁移到 asp.net core。 Cors 迁移
Posted
技术标签:
【中文标题】我正在将我的 asp.net web api 迁移到 asp.net core。 Cors 迁移【英文标题】:I am migrating my asp.net web api to asp.net core. Cors migration 【发布时间】:2017-03-28 23:24:47 【问题描述】:在我的 asp.net 项目中,我已经像这样在 webapiconfig 文件中定义了 cors
public static class WebApiConfig
public static void Register(HttpConfiguration config)
// New code
var cors = new EnableCorsAttribute("*", "*", "*", "DataServiceVersion, MaxDataServiceVersion") SupportsCredentials = true ;
config.EnableCors(cors);
现在我想将它迁移到 asp.net 核心。如何做呢?请帮忙。
【问题讨论】:
【参考方案1】:添加 CORS 服务:
public void ConfigureServices(IServiceCollection services)
services.AddCors(options => options.AddPolicy("AllowAll", builder =>
builder
.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin()
.AllowCredentials()
.WithExposedHeaders("DataServiceVersion", "MaxDataServiceVersion");
));
使用 CORS 中间件:
public void Configure(IApplicationBuilder app)
app.UseCors("AllowAll");
【讨论】:
仍然出现错误 => 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'localhost:5004' 不允许访问。响应的 HTTP 状态代码为 500。 @SagarChaudhary 是否在UseMvc
方法app.UseCors("AllowAll").UseMvc();
之前调用了UseCors
扩展方法?
是 app.UseIdentity(); app.UseCors("AllowAll"); app.UseMvc();以上是关于我正在将我的 asp.net web api 迁移到 asp.net core。 Cors 迁移的主要内容,如果未能解决你的问题,请参考以下文章