[英]Cors issue when using multiple project in .net core solution
我有一個包含多個.net核心項目的項目。 從項目A呼叫到項目B時出現問題。我不斷收到錯誤消息,指出存在no-access-control-allow-origin。 我有下面的此設置由於某種原因無法正常工作。
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();
});
https://docs.microsoft.com/zh-cn/aspnet/core/security/cors#set-the-allowed-origins
這就是我的方法。 效果很好。 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?}");
});
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.