C
C#16mo ago
uselessxp

❔ WebAPI Cors problem when calling API from Frontend

Hi, I'm having the following code while trying calling my API from Frontend: Access to XMLHttpRequest at 'http://localhost:5222/api/Users' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. For try to solve this I added a code in the Program.cs with an exception, but I'm still having the same problem and I don't know in which other way could I solve. I show you the code of Program.cs
using MyApp.RestAPI.Models.DataLayer;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

// Load configuration from appsettings.json
var configuration = builder.Configuration;

// Configure services.
builder.Services.AddDbContext<DimmiDevContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});

// Configure the HTTP request pipeline.
var app = builder.Build();

if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseRouting();

app.UseAuthorization();

app.UseCors(builder =>
{
builder.WithOrigins("http://localhost:4200");
builder.AllowAnyMethod();
builder.AllowAnyHeader();
});

app.MapControllers();

app.Run();
using MyApp.RestAPI.Models.DataLayer;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

// Load configuration from appsettings.json
var configuration = builder.Configuration;

// Configure services.
builder.Services.AddDbContext<DimmiDevContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});

// Configure the HTTP request pipeline.
var app = builder.Build();

if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseRouting();

app.UseAuthorization();

app.UseCors(builder =>
{
builder.WithOrigins("http://localhost:4200");
builder.AllowAnyMethod();
builder.AllowAnyHeader();
});

app.MapControllers();

app.Run();
I also tried to move the app.UseCors between app.UseRouting() and app.UseAuthorization() with no results
8 Replies
Accord
Accord16mo ago
Looks like nothing has happened here. I will mark this as stale and this post will be archived until there is new activity.
uselessxp
uselessxp16mo ago
bump
Kouhai
Kouhai16mo ago
@uselessxp I believe you have to call AddCorson your services
uselessxp
uselessxp16mo ago
hm, I added it but still same error
Kouhai
Kouhai16mo ago
Have you tried moving it before UseAuthorization? Also have you tried with AllowAnyOrigin just to see if works or not?
uselessxp
uselessxp16mo ago
yeah actually I did both, and tried to execute with F11, but still not working
Kouhai
Kouhai16mo ago
Hmm, this happens on all browsers?
Accord
Accord16mo ago
Was this issue resolved? If so, run /close - otherwise I will mark this as stale and this post will be archived until there is new activity.