Мне интересно, почему я получаю сообщение об ошибке «источник не разрешен Access-Control-Allow-Origin» при попытке отправить данные из внешнего интерфейса в внутренний.На внешней стороне я использую угловой 6, а на внутренней стороне я использую Asp.Net Core 2.1 (web api).Я установил все как они сказали в этой статье Microsoft:
https://docs.microsoft.com/pl-pl/aspnet/core/security/cors?view=aspnetcore-2.1
Но это все еще не работает.Я не знаю, это какая-то проблема с настройкой углового приложения или я просто что-то здесь не так делаю.
Работа с сервером: https://localhost:5001/
Работа с сервером: https://localhost:4200/
.net основное приложение - startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options => options
.AddPolicy("AllowSpecificOrigin", p =>
p.WithOrigins("https://localhost:4200")
.AllowAnyMethod()
.AllowCredentials()
.AllowAnyHeader()));
services.AddResponseCaching();
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment()) {
app.UseDeveloperExceptionPage();
}
else {
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseCors("AllowSpecificOrigin");
app.UseResponseCaching();
app.UseMvc();
}
Я также пытался использовать атрибут [EnableCors ("AllowSpecificOrigin")] на контроллере, который выдает мне эту ошибку, но все жене работает.Я не уверен, стоит ли писать, но все мои методы HttpGet работают без проблем.Так что это не работает правильно только для HttpPost.Самое странное, что вчера все работало без каких-либо проблем, не было внесено никаких изменений в конфигурацию cors и т. Д., И сегодня не может подключить интерфейс к стороне сервера.
PS.Я также написал это в startup.cs в разделе services.AddMvc (), но это также не помогло:
services.Configure<MvcOptions>(options => {
options.Filters.Add(new CorsAuthorizationFilterFactory(PolicyName));
});