Я решил ту же проблему в C # с помощью аннотаций / атрибутов,
[System.Web.Http.Cors.EnableCors(origins: "http://localhost:4200", headers: "*", methods: "*")]
public class StudentsController : ApiController{}
в MVC, используйте,
// For Action,
[HttpGet]
[EnableCors("AllowSpecificOrigin")]
public IEnumerable<string> Get(){}
// For Controller,
[Route("api/[controller]")]
[EnableCors("AllowSpecificOrigin")]
public class ValuesController : ControllerBase{}
в вашем случае, замените на это, если это относится к процессу с номером порта4200
,
options.WithOrigins("http://localhost:4200");
или вы можете поставить No Restrictions
,
app.UseCors("NoRestrictions");// To config
// To service
services.AddCors(options =>
{
options.AddPolicy("NoRestrictions",
builder => builder.WithOrigins("*").AllowAnyHeader().AllowAnyMethod());
});
Проверяет источник, 1) проверяет номер порта (e.g. 8080 or 8888)
2) домен и поддомен (e.g. google.com or google.net)
3) схема (e.g. http or https)
происхождение регистра,
перейти внутрь Startup.ConfigureServices
и позвонить services.AddCors();
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
}
включить Cors сейчас, перейти Startup.Configure
и звоните app.UseCors(builder =>
builder.WithOrigins("http://google.com"));