Когда я использую «allowHosts»: «http://localhost:9000" в моем файле appsettings.Development.json, а затем пытаюсь получить значение в Startup.cs, API выдает исключение« Неверный запрос - Неверное имя хоста »
Все отлично работает при использовании "allowHosts": "*", но, возможно, это просто значение по умолчанию для любого источника, и именно поэтому оно работает.
appsettings.Development.json
{
"app": {
},
"connectionStrings": {
"mainDb": "Server=.\\SQLEXPRESS;Database=MailboxVisualizer;Trusted_Connection=True;"
},
"logging": {
"logLevel": {
"default": "Debug",
"system": "Information",
"microsoft": "Information"
}
},
"allowedHosts": "http://localhost:9000"
}
Startup.cs
readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
public void ConfigureServices(IServiceCollection services)
{
services
.AddMvcCore()
.AddFormatterMappings()
.AddJsonFormatters()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
var origin = Configuration.GetValue<string>("allowedHosts");
services.AddCors(options =>
{
options.AddPolicy(MyAllowSpecificOrigins,
builder =>
{
builder.WithOrigins($"{origin}");
});
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors(MyAllowSpecificOrigins);
app.UseMvc();
}
Я действительно вижу, что значение корректно извлекается из файла настроек при отладке, но при запуске приложения появляется «Неверный запрос - Неверное имя хоста». Ожидаемый результатчтобы увидеть, что любой источник (*) может быть заменен определенным значением.