在ASP.NET Web API 或 ASP.NET Core 中处理跨域资源共享(CORS)问题时,有几种方法可以实现。以下是针对ASP.NET Web API和ASP.NET Core的CORS解决方案。
安装CORS支持
首先,确保你的项目中已经安装了Microsoft.AspNet.WebApi.Cors NuGet包。
启用CORS
在WebApiConfig.cs中的Register
方法里启用CORS。
csharp复制代码
public static void Register(HttpConfiguration config) |
|
{ |
|
// 启用CORS |
|
config.EnableCors(); |
|
// 其他配置... |
|
} |
配置CORS策略
在控制器或动作上使用[EnableCors]
属性来定义哪些来源、方法和头部是允许的。
csharp复制代码
[EnableCors(origins: "*", headers: "*", methods: "*")] |
|
public class MyApiController : ApiController |
|
{ |
|
// 控制器方法... |
|
} |
或者,你也可以在全局范围内设置CORS策略:
csharp复制代码
config.SetCorsPolicyProviderFactory(new CorsPolicyFactory()); |
|
config.AddCorsMapping("*", new CorsPolicy { AllowAnyOrigin = true, AllowAnyHeader = true, AllowAnyMethod = true }); |
在ASP.NET Core中,CORS的配置更加灵活和集中。