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

دوشنبه 15 تیر 1394

در این مقاله ساختار و نحوه پیکربندی 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"
    }
}

 

قربانی

نویسنده 44 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید