Есть web api проект на .net core 2, по стандартному шаблону VS:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
//пытался так избавится от этой проблемы:
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin());//по идеи все разрешено
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseCors("AllowSpecificOrigin");
app.UseHttpsRedirection();
app.UseMvc();
}
}
[EnableCors("AllowSpecificOrigin")]
[Route("api/")]
[ApiController]
public class ValuesController : ControllerBase
{
[HttpPost]
[EnableCors("AllowSpecificOrigin")]
[Route("getToursList")]
public string Post([FromBody] GettingTourInfo value)
{
return JsonConvert.SerializeObject(value);
}
}
Если я отправляю запрос на локальный сервер, через postman то все нормально. Но если отправляю с другого ПК(или даже со своего), через ngrok, то в ngork запрос появляется, а клиенту приходит -
ERR_EMPTY_RESPONSE
, а точка остановки на методе не срабатывает.
Запрос выглядит таким образом:
var onSubmitClick = function () {
$.ajax({
url: URL_POST,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
type: 'POST',
data: jsonData,
AccessControlAllowOrigin : '*',
AccessControlAllowHeaders : 'Content-Type',
crossDomain: true,
async: true,
success: function(arr) {
renderTours(arr);
}
})
};
Пробовал, кроме ngrok, localtunel - тоже самое.