在ASP.NET Web API和IdentityServer中,解决CORS(跨域资源共享)问题可以通过以下步骤来实现:
Install-Package Microsoft.AspNet.WebApi.Cors
public static void Register(HttpConfiguration config)
{
// 允许所有来源的请求
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
// 其他配置代码...
}
此代码将允许来自任何来源(),任何标头()和任何方法(*)的请求。
public void ConfigureServices(IServiceCollection services)
{
// 其他服务配置代码...
services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
});
});
// 其他服务配置代码...
}
此代码将允许来自任何来源(AllowAnyOrigin),任何标头(AllowAnyHeader)和任何方法(AllowAnyMethod)的请求。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// 其他配置代码...
app.UseCors("AllowAllOrigins");
// 其他配置代码...
}
此代码将启用跨域请求,并将其应用于所有中间件。
通过上述步骤,你就可以在ASP.NET Web API和IdentityServer中解决CORS问题,并允许跨域请求。