我正在将我的 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 迁移的主要内容,如果未能解决你的问题,请参考以下文章
Web APi Vs MVC 和在 ASP.net 核心 Web APi 中提供静态文件
如何从 Java ME 应用程序使用 ASP.NET Web API
将我的 ICollection 覆盖为我的 edmx 文件中的 IList 的最佳方法,在 asp.net MVC Web 应用程序中