Serenity, ASP.NET Core'un yerleşik Yapılandırma sistemiyle bütünleşir.
OptionsAyrıca , mümkün olan yerlerde, yapılandırmanın geri alınmasının ve depolama konumundan soyutlanmasını sağlayan modeli de tercih ediyoruz . Bu, bağımlılık enjeksiyon modeli kullanılarak elde edilir.
Tipik bir Serene / StartSharp uygulamasının konfigürasyonu appsettings.jsonvarsayılan olarak dosyada bulunur ancak bazı kısımlarını veya tamamını bir veritabanına, buluta veya başka bir konuma taşımak mümkündür.
Seçenekler modelini kullanan yapılandırma sınıflarının bir örneği aşağıda verilmiştir:
| toplantı | sınıf |
|---|---|
| Serenity.Net.Entity | ConnectionStringOptions |
| Serenity.Net.Services | YüklemeAyarları |
| Serenity.Net.Web | CssBundlingOptions |
| Serenity.Net.Web | Komut Dosyası Paketleme Seçenekleri |
Deseni kullandığımız için , tüm bu yapılandırma seçeneklerinin aşağıdaki çağrılar Optionsyoluyla ilgili bölümlerine bağlanması gerekir :ConfigureStartup.cs
services.Configure<ConnectionStringOptions>(
Configuration.GetSection(ConnectionStringOptions.SectionKey));
services.Configure<CssBundlingOptions>(
Configuration.GetSection(CssBundlingOptions.SectionKey));
services.Configure<LocalTextPackages>(
Configuration.GetSection(LocalTextPackages.SectionKey));
services.Configure<ScriptBundlingOptions>(
Configuration.GetSection(ScriptBundlingOptions.SectionKey));
services.Configure<UploadSettings>(
Configuration.GetSection(UploadSettings.SectionKey));
services.Configure<Serenity.Extensions.EnvironmentSettings>(
Configuration.GetSection(Serenity.Extensions.EnvironmentSettings.SectionKey));
SectionKeyHer yapılandırma seçeneği için varsayılanı sınıf bildiriminde sabit olarak sağlıyoruz :
public class ConnectionStringOptions : Dictionary<string, ConnectionStringEntry>,
IOptions<ConnectionStringOptions>
{
/// <summary>
/// Default sectionkey for ConnectionStringOptions
/// </summary>
public const string SectionKey = "Data";
//...
}
ASP.NET Core yapılandırması ve seçenek düzeni hakkında daha fazla bilgi için aşağıdaki belgelere bakın: