آشنایی با ساختار 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" } }
- ASP.net
- 2k بازدید
- 1 تشکر