2017-10-28 187 views
0

我正在嘗試創建一個自包含的.NET Core控制檯應用程序。 在我的應用程序中,我添加了一個配置文件appsettings.json。 目標是現在我需要有可能修改配置文件,而應用程序正在運行(和公佈)更改ASP.NET Core中的配置文件

我發現了幾個指南,但他們都指向我需要包括以下功能的方向:

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

     // Register the IConfiguration instance which MyOptions binds against. 
     services.Configure<DBSetting>(Configuration); 

     // Add framework services. 
     services.AddMvc(); 
    } 

但是當我做這一切服務的methodes是紅色的。如果我看着你IserviceCollection,文檔說它已經過時了。 我確實在我的Program.cs這讓我在我的配置文件讀取數據添加

  var builder = new ConfigurationBuilder() 
      .AddJsonFile(@"C:\Users\Maarten\Documents\Visual Studio 2015\Projects\CorporationBot\CorporationBotCore\appsettings.json", optional: true, reloadOnChange:true);     
     Configuration = builder.Build(); 

。 現在我需要一種方法來在應用程序運行時更改我的配置。 任何最新的方法來做到這一點?

+0

什麼版本的.NET核心嗎?你在'.csproj'文件中有什麼依賴關係? – omajid

回答

1

根據Microsft寫入內置提供程序的配置不會持久。所以你可能需要編寫一個自定義提供程序並實現保存。以下鏈接提供了有關asp.net配置和示例自定義EF提供程序的更多信息。

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration

作爲邊注,如果該值趨向於runtime.Database改變或其他一些地方也可以是一種可能的選擇。

+0

您給我的鏈接與我使用的代碼相同,但不起作用。它給我在方法上的錯誤。 他們不會一直改變。服務器管理員只需要能夠在應用程序開始更改配置文件中的數據庫值時對其進行更改 – Captain

+0

根據對該文檔的評論,它似乎是.NET Core 2.0的過時版 – Captain

+0

它給您的錯誤是什麼?如果它不是一個Web應用程序,你可能不需要添加配置服務。 – nandithakw

相關問題