我正在构建一个C#应用程序,我必须更新数据库,并且需要向运行在不同域上的API发出请求。然而,当我尝试发出这些请求时,我会收到CORS错误。我读过关于CORS的文章,知道它是浏览器用来防止跨域请求的一个安全特性,但我不确定如何在我的C#应用程序中启用它。有人能解释一下如何在C#应用程序中启用CORS,并提供一个如何使用CORS进行跨域请求的示例吗?提前感谢!我曾试图从包管理器安装“Microsoft.AspNetCore.Cors”,但不起作用。
qmelpv7a1#
using(var client = new HttpClient())
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; }
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.UseRouting();
app.UseAuthentication();
app.UseCors("MyPolicy");
3条答案
按热度按时间qmelpv7a1#
using(var client = new HttpClient())
uqjltbpv2#
在C# MVC应用中,我们可以添加Microsoft.AspNet.WebApi.CorsNuGet包,成功安装此包后,在控制器中使用下面一行,
并且,在定义API之前启用CORS,例如:
ogq8wdun3#
在Program.cs中复制和粘贴
然后在Program.cs中写出这个,但要按正确的顺序写,在
app.UseRouting();
之后,在app.UseAuthentication();
之前-https://learn.microsoft.com/en-us/aspnet/core/fundamentals/middleware/?view=aspnetcore-7.0#middleware-order