'daki json yapılandırma dosyasına nasıl değiştirileceği projem, config özelliğini okumak için App.config dosyasını kullanır. Örnek: ConfigurationManager.AppSettings["MaxThreads"]
Yapılandırmayı json'dan okumak için kullanabileceğim bir kitaplıktan biliyor musunuz? Teşekkürler.App.config öğesinin, .Net Core
cevap
ConfigurationManager
statik sınıfı genelde ASP.NET Core'da bulunmamaktadır. Bunun yerine, yeni ConfigurationBuilder
sistemini ve güçlü bir şekilde yazılan yapılandırmayı kullanmalısınız. Bu appsettings.json
dosyadan yapılandırmayı yüklemek ve anahtarları yapılandırma kökünü ekler
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
:
Örneğin, varsayılan olarak, bir yapılandırma aşağıdaki benzer bir şey kullanarak Startup
sınıfında inşa edilmiştir. Bir appSettings varsa gibi dosya aşağıdaki: Eğer bu kesinlikle yazılı ayarlar sınıfını bağlayabilir, Nihayet
public class ThreadSettings
{
public int MaxThreads {get; set;}
}
:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"ThreadSettings" : {
"MaxThreads" : 4
}
}
Sonra sonra kesinlikle yazılı aşağıdakine benzer ThreadSettings
sınıf oluşturabilir ConfigureServices
yönteminize Configure
yöntemini ekleyerek yapılandırmanızı.
using Microsoft.Extensions.Configuration;
public void ConfigureServices(IServiceCollection services)
{
services.Configure<ThreadSettings>(Configuration.GetSection("ThreadSettings"));
}
Daha sonra enjekte ve yapıcı içine enjekte ederek anyother yerden ayarları sınıfa erişebilirsiniz. Örneğin: Eğer gerçekten altta yatan yapılandırmaya erişmeniz gerekiyorsa
public class MyFatController
{
private readonly int _maxThreads;
public MyFatController(ThreadSettings settings)
{
maxThreads = settings.MaxThreads;
}
}
Son olarak, ayrıca sınıflarında kullanılabilir hale getirmek için ConfigureServices
o enjekte edebilir.
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton(Configuration);
}
Sen docs veya üzerinde yapılandırması hakkında daha fazla bilgi bulabilirsiniz variousblogs
- 1. HttpUtility.JavaScriptStringEncode öğesinin karşılığı .Net Core 1.1 nedir?
- 2. .NET SupportedRuntime App.config
- 3. .NET Core GetHashCode deterministic
- 4. System.Environment .NET Core 1.0
- 5. .NET Core Değiştirme?
- 6. App.Config öğesinin bölümlerini başka bir dosyadan yükleyin
- 7. .NET Standard \ Core yerine .NET Taşınabilir
- 8. AddEntityFrameworkStores yalnızca .NET Core 2.0
- 9. .Net Core dll nasıl çalıştırılır?
- 10. .NET Core ile görüntülerin işlenmesi
- 11. System.Web.Services ad alanı .net core
- 12. @ angular/core/testing öğesinin dışa aktarılmadı 'MockApplicationRef'
- 13. WinForms uygulamasında şifreleri şifreleme app.config, .NET
- 14. App.config?
- 15. App.Config
- 16. App.config
- 17. .net core biriminde birim testlerde appsettings.json öğesinin kullanımı ve enjekte edilmesi
- 18. .NET Core uygulamasından .NET 4.6.2 sınıf kitaplığı başvurulan
- 19. .NET Core Tüketici standart .NET Kitaplığı'nı ConfigurationManager.AppSettings kullanarak kullanıyor
- 20. Moq.netcore .Net Core RC2 için başarısız oluyor
- 21. .NET Core HttpClient, engelleyici kavramına sahip mi?
- 22. .NET Core sınıf kitaplığında System.Windows.Forms nasıl kullanılır?
- 23. XUnit Testleri artık keşfedilmiyor. Net Core 1.1
- 24. .NET Core - Visual studio kodunda System.IO.Ports.SerialPort kullanın
- 25. Çalışma zamanı hakkında bilgi alma .Net Core
- 26. .NET Core 1.0'da resx kaynaklarını kullanma
- 27. Bir XML değerini, .NET App.Config dosyasında nasıl depolarım
- 28. .NET'in app.config
- 29. App.config dosyası nerededir?
- 30. ASP.NET Core