Прочтите файл appsettings.json в Main Program.cs.C#

Место общения программистов C#
Ответить
Anonymous
 Прочтите файл appsettings.json в Main Program.cs.

Сообщение Anonymous »

Прежде всего, моя основная цель — динамическая настройка IP и порта для моего приложения.

Я использую IConfiguration для внедрения конфигурации json файл, как упоминалось в некоторых учебниках.

Однако я не могу получить конфигурацию в Program.cs, потому что мой WebHostBuilder будет использовать StartUp и URL-адрес по адресу в то же время.

Итак, на момент создания хоста в моей конфигурации ничего нет.

WebProtocolSettings settings_Web = new WebProtocolSettings();
var host = new WebHostBuilder()
.UseIISIntegration()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup()
.UseUrls(settings_Web.Url + ":" + settings_Web.Port)
.Build();


В Startup.cs

public Startup(IHostingEnvironment env)
{
// Set up configuration sources.
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

Configuration = builder.Build();
}

public IConfigurationRoot Configuration { get; set; }

public void ConfigureServices(IServiceCollection services)
{
// Adds services required for using options.
services.AddOptions();

var _WebProtocolSettings = Configuration.GetSection("WebProtocolSettings");

// Register the IConfiguration instance
services.Configure(_WebProtocolSettings);
}


Мой appsettings.json:

{
"WebProtocolSettings": {
"Url": "127.0.0.1",
"Port": 5050
}
}


Мой WebProtocolSettings.cs:

public class WebProtocolSettings
{
public string Url { get; set; }
public int Port { get; set; }
}


Подробнее здесь: https://stackoverflow.com/questions/417 ... program-cs
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»