آشنایی با ساختار ASP.NET 5

در این مقاله ساختار و نحوه پیکربندی ASP.NET 5 به همراه نمونه و همچین روش هایی برای مدیریت پیکربندی ارائه شده است .

زمانی که ASP.NET معرفی شد ، بر خلاف web.config متداول یک project.json بود . زمانی که بررسی کد های ASP.NET آغاز شد،فضای نام System.Configuration یافت نمی شد . این مقاله درباره ساختار در ASP.NET از فایل project.json می باشد . سیستم پیکربندی ASP.NET 5 مجددا از ساختار نسخه های قبلی ASP.NET باز سازی می شود . مدل پیکربندی جدید دسترسی ساده به مقادیر براساس تنظیمات که می توانند با منابع مختلف بازیابی شوند .

در این جا روش های پیشنهادی برای مدریت پیکربندی در ASP.NET 5 می باشد .

- در مرحله اول به Microsoft.Framework.ConfigurationModel در فایل project.json نیاز دارید .

- نمونه ای از پیکربندی در کلاس Startup بیاورید . کلاس پیکربندی فقط مجموعه ای از منابع می باشد که قابلیت خواندن و نوشتن نام و مقدار را فراهم می کند . پس از ذکر نمونه ای از کلاس پیکربندی ، نیاز دارید حداقل یک منبع پیکربندی را تنظیم کنید . میتوانید از منابع پیکربندی مختلف مانند JSON ، XML،INI و ... استفاده کنید .

از الگوی Options برای دسترسی به تنظیمات شخصی استفاده کنید . Options یک Framework برای دسترسی و پیکربندی تنظیمات POCO است . یک کلاس ایجاد می کنید و مسیر پیکربندی را ایجاد کنید و وابستگی را با استفاده از ویژگی تزریق وابستگی در ASP.NET 5 به این کنترل تزریق کنید .

اکنون پیاده سازی انجام می شود ، در Startup.cs ، یک مشخصه پیکربندی دارید و در سازنده نمونه ای ایجاد کنید و به فایل JSON اختصاص دهیم . به مرجع Microsoft.Framework.ConfigurationModel نیاز دارید .

public Startup(IHostingEnvironment env)
{
    var configuration = new Configuration();
    configuration.AddJsonFile("config.json");
     
    Configuration = configuration;
}
public IConfiguration Configuration { get; set; }
 
public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.Configure<AppSettings>(Configuration.GetSubKey("AppSettings"));
}

سپس بخش پیکربندی AppSettings را می خوانید. و در کلاس controller نیاز دارید یک سازنده که آرگومان <IOptions<T را می پذیرد ایجاد کنید .

private readonly AppSettings _appSettings;
public HomeController(IOptions<AppSettings> settingsAccessor)
{
    _appSettings = settingsAccessor.Options;
}

در زمان اجرای ASP.NET تنظیمات به سازنده controller تزریق می شود، از این رو می توانید مقادیر پیکربندی را مصرف کنید .

اکنون به کلاس AppSettings توجه کنید :

public class AppSettings
{
    public string SiteTitle { get; set; }
    public string InstrumentationKey { get; set; }
}

 و حالا به فایل config.json توجه کنید :

{
    "AppSettings": {
        "SiteTitle": "AppInsightsDemo",
        "InstrumentationKey": "db6da75a-s787-4a7b-gh88-b0041b8a9299"
    }
}