ASP.NET Core 7 MVC中启用CORS失败的问题求助
ASP.NET Core 7 MVC中启用CORS失败的问题求助
我在ASP.NET Core 7 MVC的Web应用里死活搞不定CORS启用的问题,试了好几种方法都没效果。后来我干脆把项目简化到极致,只保留让项目能跑起来和启用CORS的必要代码,参考的是官方文档还有站内的一些相关问题,但还是不行。
现在我都开始怀疑是不是自己的测试方法有问题了——我用Postman调用接口,本来盼着能看到Access-Control-Allow-Origin: *这个响应头,但就是没出现。
我的program.cs代码是这样的(我删掉了所有非必要的内容):
var MyAllowSpecificOrigins = "_myAllowSpecificOrigins"; var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(options => { options.AddPolicy(name: MyAllowSpecificOrigins, policy => { policy.AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod(); }); }); builder.Services.AddControllers(); var app = builder.Build(); app.UseCors(MyAllowSpecificOrigins); app.MapControllers(); app.Run();
测试的时候我用的是Postman,收到的响应头只有这些:
- Content Type
- Date
- Server
- Transfer-Encoding
后来看了下面的正确答案才搞明白:我测试的时候根本没发送Origin请求头!补上这个请求头之后,问题立刻就解决了。
另外我还换了同一局域网里的另一台机器来运行代码测试,因为之前看到有说法说,如果是localhost到localhost的请求,有时候这个响应头不会被添加。
备注:内容来源于stack exchange,提问作者ChrisUK
相关产品推荐
相关产品推荐

