public static void AddCorsSetup(this IServiceCollection services)
{
services.AddCors(c =>
{
//允许任意跨域请求
c.AddDefaultPolicy(policy =>
{
policy
.SetIsOriginAllowed((host) => true)
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
});
}
public class CorsMiddleware
{
private readonly RequestDelegate _next;
public CorsMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
if (!context.Response.Headers.ContainsKey("Access-Control-Allow-Origin"))
{
context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
}
await _next(context);
}
// 使用 app.UseMiddleware<CorsMiddleware>();
}
public static class UseCorsExtend
{
public static void UseCorsMiddleware(this IApplicationBuilder app)
{
app.UseCors();
app.UseMiddleware<CorsMiddleware>();
}
}