Cors Policy в .Net Core Web Api - добавляем поддержку C#
Для добавления поддержки CorsPolicy в .NET Core приложении открываем файл Startup.cs и меняем методы ConfigureServices и Configure, следующим образом:
ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
// Добавляем CorsPolicy
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
Configure
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
// Включаем использование CorsPolicy
app.UseCors("CorsPolicy");
app.UseHttpsRedirection();
app.UseMvc();
}
Далее, чтобы включить поддержку CorsPolicy конкретному методу, добавляем в контроллер:
using Microsoft.AspNetCore.Cors;
И рядом с методом контроллера указываем атрибут:
[EnableCors("CorsPolicy")]
Примерно это будет выглядеть так:
namespace ServerAPI.Controllers
{
[Route("[controller]")]
[ApiController]
public class ApiController : ControllerBase
{
[HttpGet]
[EnableCors("CorsPolicy")]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "API Merchant Started!" };
}
...