C# 在.net核心解决方案中使用多个项目时出现Cors问题
我有一个包含多个.net核心项目的项目。我在从项目a打电话到项目B时遇到问题。我不断收到cors问题,说明不存在访问控制允许来源。我有以下设置,由于某些原因无法正常工作C# 在.net核心解决方案中使用多个项目时出现Cors问题,c#,.net,asp.net-core,cors,C#,.net,Asp.net Core,Cors,我有一个包含多个.net核心项目的项目。我在从项目a打电话到项目B时遇到问题。我不断收到cors问题,说明不存在访问控制允许来源。我有以下设置,由于某些原因无法正常工作 public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddCors(); services.Add
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddCors();
services.AddMvc().AddMvcOptions(options => options.RespectBrowserAcceptHeader = true);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, IAntiforgery antiforgery)
{
loggerFactory.AddDebug(LogLevel.Information).AddSerilog();
app.UseCors(builder =>
builder.WithOrigins("*")
.WithMethods("*")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin()
);
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
通配符不起作用 试试这个:
app.UseCors((builder) => {
builder.AllowAnyOrigin();
builder.AllowAnyHeader();
builder.AllowAnyMethod();
});
我就是这样做的。效果很好。JimmyH的建议应该有效,我只是想给你另一个选择
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AnyOrigin", builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
services.AddMvc();
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
app.UseCors("AnyOrigin");
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
...
}
我尝试了这个,但由于某种原因,我仍然得到相同的错误。项目A是.net核心项目而项目B是.net框架项目是否重要?