.NET Core Blazor、ASP.NET Core Web API连SQL Server遇CORS错误
解决CORS预检请求失败问题
你的配置代码存在几个关键错误:
.AllowCredential语法错误,正确写法是.AllowCredentials()(缺少结尾括号)WithOrigins参数中包含多余反引号,应改为"https://localhost:7022"- 中间件顺序可能不符合要求,
UseCors必须放在特定位置才能生效
修正后的完整配置:
1. 配置CORS服务
services.AddCors(options => { options.AddDefaultPolicy(policy => { policy.WithOrigins("https://localhost:7022") .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials(); // 修正括号缺失问题 }); });
2. 确保中间件顺序正确
在 Program.cs 中,app.UseCors() 必须放在 app.UseRouting() 之后、app.UseAuthorization() 之前:
app.UseRouting(); // 此位置是CORS中间件的正确加载点 app.UseCors(); app.UseAuthorization(); app.MapControllers();
额外检查项
- 确认客户端请求确实从
https://localhost:7022发起,无端口、协议拼写错误 - 如果使用自定义CORS策略而非默认策略,需在对应控制器/Action上添加
[EnableCors("自定义策略名")]特性
内容的提问来源于stack exchange,提问作者Skylight Ethic
相关产品推荐
相关产品推荐

