'Access-Control-Allow-Origin' 在 ASP.NET 核心 6

'Access-Control-Allow-Origin' in ASP.NET Core 6

Postman 中测试并且工作正常。 在浏览器中我得到这个错误:

Access to XMLHttpRequest at 'http://localhost:5081/api/Accounting/GetSales' from origin 'https://localhost:44426' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Asp 网络核心项目 Angular 和 .Net6

[DisableCors]
[HttpGet("GetSales")]
        public IEnumerable<SaleDto> GetSales()
        {
            var result = _context.Sales.Select(x => new SaleDto
            {
                AccountName = x.Account.Name,
                CategoryName = x.Category.CategoryName,
                SaleDate = x.SaleDate,
                SaleId = x.SaleId,
                SaleValue = x.SaleValue,
            });
            return result;
        }

请问您注册中间件的入口是否正确? https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0

您需要添加本地主机和端口号。我相信端口号目前正在导致问题。如果两个站点都在同一个端口号上,您可能不会遇到此问题。 另外,请参阅同一域上 CORS 错误的答案。 CORS error on same domain?

此外,您希望启用 CORS 而不是禁用它。 CORS 放宽了安全措施,因此您的代码可以跨端口访问。