.Net Core 和Asp.Net 不同,不需要再去引用其他的跨域组件。创建项目时,就有了。
让接口实现跨域,需要配置两个地方。
一、Startup.cs
这里需要配置两个地方
public void ConfigureServices(IServiceCollection services) { //添加cors 服务 配置跨域处理 services.AddCors(options => { options.AddPolicy("any", builder => { builder.AllowAnyOrigin() //允许任何来源的主机访问 .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials();//指定处理cookie }); }); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseHsts(); } //配置Cors app.UseCors("any"); app.UseHttpsRedirection(); app.UseMvc();}
二、控制器 Controller
这里可以直接在整个控制器上,加上 [EnableCors("any")] 标签,也可以在单独的 Action 上加上标签。