发布服务时如何修复.NET Core CORS错误

时间:2019-03-15 17:04:25

标签: .net cors core

我已经创建了简单的.NET Core服务来从Angular客户端发送邮件。在开发环境中,当客户端和服务器在本地主机的不同端口上运行时,它可以正常工作,但是在托管客户端发布服务时收到错误:

  

”已被CORS政策屏蔽:对飞行前的响应   请求未通过访问控制检查:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。”

出于测试目的,我已经实施了临时开放政策。

在Startup.cs中添加:

services.AddCors(o => o.AddPolicy("OpenPolicy", builder => {   
    builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();}));

app.UseCors("OpenPolicy");

在控制器中:

[EnableCors("OpenPolicy")]
[Route("api/[controller]")]  
[ApiController]  
public class MailController : ControllerBase
{
    [EnableCors("OpenPolicy")]
    [HttpPost]
    public MailResult SendMessage([FromBody]Mail mail)
    {
        ...

我错过了什么吗?可以托管配置吗?

1 个答案:

答案 0 :(得分:0)

这是一个模糊的问题,也许您还需要允许凭据:

builder.AllowAnyOrigin()
       .AllowAnyMethod()
       .AllowAnyHeader()
       .AllowCredentials();