asp.net 如何在C#应用程序中启用CORS?

qaxu7uf2  于 2023-04-22  发布在  .NET
关注(0)|答案(3)|浏览(188)

我正在构建一个C#应用程序,我必须更新数据库,并且需要向运行在不同域上的API发出请求。然而,当我尝试发出这些请求时,我会收到CORS错误。
我读过关于CORS的文章,知道它是浏览器用来防止跨域请求的一个安全特性,但我不确定如何在我的C#应用程序中启用它。
有人能解释一下如何在C#应用程序中启用CORS,并提供一个如何使用CORS进行跨域请求的示例吗?提前感谢!
我曾试图从包管理器安装“Microsoft.AspNetCore.Cors”,但不起作用。

qmelpv7a

qmelpv7a1#

using(var client = new HttpClient())

uqjltbpv

uqjltbpv2#

在C# MVC应用中,我们可以添加Microsoft.AspNet.WebApi.CorsNuGet包,成功安装此包后,在控制器中使用下面一行,

using System.Web.Http.Cors;

并且,在定义API之前启用CORS,例如:

[HttpPost]
[EnableCors(origins: "*", methods: "*", headers: "*")]
public int GetId(int id)
{
     return id;
}
ogq8wdun

ogq8wdun3#

在Program.cs中复制和粘贴

builder.Services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
{
    builder.WithOrigins("*")
           .AllowAnyMethod()
           .AllowAnyHeader();

// U Can Filter Here
}));

然后在Program.cs中写出这个,但要按正确的顺序写,在app.UseRouting();之后,在app.UseAuthentication();之前-https://learn.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-7.0#middleware-order

app.UseCors("MyPolicy");

相关问题