Net Core WebApi 解决跨域问题
时间: 2024-05-06 19:17:42 浏览: 121
在 .NET Core WebApi 中,可以通过中间件来解决跨域问题。具体步骤如下:
1. 安装 Microsoft.AspNetCore.Cors 包。可以在 NuGet 包管理器中搜索并安装,或在项目的 .csproj 文件中添加以下代码:
```
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.2.0" />
</ItemGroup>
```
2. 在 Startup.cs 文件的 ConfigureServices 方法中添加 CORS 服务:
```
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
//其他服务的注册
}
```
3. 在 Startup.cs 文件的 Configure 方法中启用 CORS 中间件:
```
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors("AllowAllOrigins");
//其他中间件的配置
}
```
以上代码允许任何来源、任何头、任何方法的跨域请求。如果需要对来源等进行更加精细的控制,可以在 options.AddPolicy 的 builder 中进行设置。
阅读全文