返回

ASP.NET Core 8 MVC在program.cs里设置允许跨域

2024-05-09 .NET .NET8 MVC program.cs 允许跨域 89 0

在 ASP.NET Core 8 中,你可以通过在 Program.cs 文件中配置 app.UseCors 中间件来设置允许跨域(CORS)。以下是如何操作的步骤:

安装 CORS 中间件程序包:

dotnet add package Microsoft.AspNetCore.Mvc.Cors

在 Program.cs 中配置 CORS:

var builder = WebApplication.CreateBuilder(args);

        // 配置 CORS
        builder.Services.AddCors(options =>
        {
            options.AddPolicy("MyPolicy", policy =>
            {
                policy.AllowAnyOrigin()
                    .AllowAnyMethod()
                    .AllowAnyHeader();
            });
        });

        // 配置其他服务和中间件
        // ...

        var app = builder.Build();

        // 使用 CORS 中间件
        app.UseCors("MyPolicy");

        // 配置 HTTP 请求管道
        // ...

        app.Run();

在这个示例中,我们定义了一个名为 MyPolicy 的 CORS 策略,该策略允许来自任何来源的请求,使用任何 HTTP 方法和任何头。你可以根据自己的特定需求自定义此策略。

将 CORS 策略应用于特定控制器或操作(可选):

你还可以使用 [EnableCors] 属性将 CORS 策略应用于特定控制器或操作。例如:

[EnableCors("MyPolicy")]
public class MyController : Controller
{
    [HttpGet]
    public IActionResult GetMyData()
    {
        // ...
    }
}

即使全局 CORS 策略不允许,这也将允许对 MyController 控制器中的 GetMyData 操作进行 CORS 请求。

请记住将 "MyPolicy" 替换为你的 CORS 策略名称。此外,请确保调整策略设置以满足你的特定要求。

顶部