خلاصه ای از ASP.NET Core 2.0
Asp.net core هدف خود را دراختیار توسعه دهندگان قرارمیدهد تا براساس نیازهایشان، برنامه خود را به جلو پیش برند.
ما در این مقاله به برخی از ویژگی های ASP.NET Core اشاره خواهیم کرد. این لیست کامل نیست اما برخی از ویژگی های مهم و جالب را برجسته می کند.
Asp.net core هدف خود را دراختیار توسعه دهندگان قرارمیدهد تا براساس نیازهایشان، برنامه خود را به جلو پیش برند.
ما در این مقاله به برخی از ویژگی های ASP.NET Core اشاره خواهیم کرد. این لیست کامل نیست اما برخی از ویژگی های مهم و جالب را برجسته می کند.
مقاله را با معرفی بسته Microsoft.Aspnetcore.Allpackage شروع می کنیم.
- Microsoft.Aspnetcore.Allpackage یک Metapackage است.
Metapackage چیست؟
مجموعه ای از بسته های توزیع شده در یک ساختاراست. هرکدام از این بسته ها می توانند وابستگی و ویژگی خاص خود را داشته باشند که شما می توانید این بسته ها را کنترل کنید و مشخص کنید کدامیک اجرا شود.
برنامه هایی که از Microsoft.Aspnetcore.Allpackage استفاده می کنند به صورت خودکارنیز از Runtime Package Store بهره می برند.
Runtime Store چیست؟
اگر Runtime Store را یک فروشگاه درنظر بگیریم، میتوان گفت که شامل تمام ابزارهای مورد استفاده برای اجرای ASP.NET Core 2.0 است که میتوانید ابزارهای موردنیازتان را از این قسمت تهیه کنید.
- WebHost Builder APIS
کاربرد WebHost Builder APIS
WebHost Builder APIS یک متد استاتیک است که برای ایجاد و راه اندازی WebHost راه و روش های مختلفی را ارائه میدهد.
WebHost چیست؟
WebHost درواقع اجاره فضا بر روی اینترنت، جهت نگهداری فایل و داده های سایت می باشد.
این روش کدهای مشترکی را که اکثربرنامه های ASP.NET Core به آن نیازدارند را کاهش میدهد.
کد بالا از الگو MVC در Visual Studio گرفته شده که نشان میدهد با استفاده از CreateDefultBiuilder میتوانیم یک WebHost بسازیم.
با استفاده از Program.BuildWebHost میتوانید WebHost را بدون نیاز به برنامه بررسی کنید.
توجه کنید که در Program.BuildWebHost نباید هیچ کاری جز ساختن WebHost انجام دهید. (ما از یک شیوه بیان شده در قالب ها استفاده کردیم تا نشان دهیم که این روش نباید برای چیز دیگری به غیر از ساخت یک WebHost استفاده شود.)
علاوه بر CreateDefultBiuilder روش های دیگری برای ساخت یک WebHost نیز وجود دارد:
این روش راه را برای اجرا برنامه در یک خط فراهم می کند.
- Configuration as a core service
همانطور که می دانید توسعه دهندگان در ابتدا برنامه های کاربردی خود را با نسخه 1.0 همراه با سرویس های مختلف ایجاد میکنند و سپس منتظر بازخورد آن و گوش دادن به نظرات هستند. در نسخه های بعد نیز از تمام سرویس های نسخه قبل خود پشتیبانی می کنند.
به طور مثال در ASP.NET Core سرویس هایی از قبیل ICofiguration, ILongger,IHostingEnvironment وجود دارد که در نسخه ی بعدی آن (نسخه 2.0) ICofiguration به Ioc Container اضافه شده است.
به این نسخه همچنین WebHostBuilderContext اضافه شده است که سرویس ها را پیکربندی می کند و میتوان از آن ها در جاهای مختلفی استفاده کرد. شما حتی وقتی در حال ساختن یک WebHost هستید میتوانید به WebHostBuilderContext و سرویس ICofiguration نیز دسترسی داشته باشید. در این نسخه خبری از IHostingEnvironment نیست.
- Longger Change
3 روش اصلی برای loggin در 2.0 ASP.NET Core وجود دارد:
- به جای استفاده از DI می توانید از طریق IloggerFactory ثبت نام کنید و به راحتی از خدمات دیگران بهره ببرید.
- شما باید ورود به سیستم را در همه جا در دسترس داشته باشید. بنابراین منطقی است که loggin را در program.cs خود پیکربندی کنید.
آشنایی با Program.cs در ASP.NET Core 1.1
Program.cs در ASP.NET Core 2.0
3. ویژگی IloggerFactory در حال حاضر به صورت پیش فرض است. شما می توانید از این طریق تمام پیام های ورودی را اجرا کنید و سپس تمام آنها را پیکربندی کنید.
- Kestrel Hardening
Kestrel Web Server نیز در 2.0 دارای ویژگی های جدید است که آن را بعنوان یک سرور اینترنتی، مناسب می کند.
- Weblistener Rename
در2.0 بسته های Microsoft.Aspnetcore.Server.Weblistener وMicrosoft.Net.Http.Server با یکدیگر ادغام شده اند و بسته ای جدید به نام Microsoft.AspNetCore.Server.HttpSys را ایجاد کرده اند.
- Automatic Page and View Compilation On Publish
)کامپایل و انتشار کردن به صورت خودکار)
ASP.NET Core 2.0 صفحات Razor را نیز معرفی کرده است. این صفحات هنگام انتشار، به طور پیش فرض فعال می شوند که این کار باعث می شود حجم انتشار و زمان راه اندازی برنامه کاهش پیدا کند.
صفحات Razor چیست؟
صفحات Razor صفحات ساده و یا view ها بدون کنترلر مرتبط با آن ها هستند. صفحات Razor با پکیج Microsoft.AspNetCore.Mvc همراه است.این صفحات نیاز دارند که در پوشه pages با فرمت .cshtml باشند.
با این حال اگر می خواهید که قبل از کامپایل کردن، این صفحه را غیرفعال کنید می توانید یک property را در cjproj تنظیم کنید:
- Tag Helper Components
با استفاده از Tag Helper Components می توان تگ های جدیدی را در HTML ساخت که توسط Tag Helper می توانند اجرا شوند. به این شکل که UserApplicationInsights یک جزء از Tag Helper را ثبت می کند. این جزء توسط HeadTagHelper اجرا می شود و به JavaScript انتقال داده می شود که این جزء شناسایی و اجرا شود.
از آنجا که این کار از طریق DI انجام می گیرد، می توانیم مطمئن شویم که فقط یکبار ثبت شده است و از تکراری بودن اجتناب می کند.
نسخه 1پیش نمایش ASP.NET Core 2.0 در حال حاضرمنتشر شده است و شما می توانید شروع به ساختن برنامه با ASP.NET Core 2.0 کنید.برای ساخت برنامه مبتنی بر ASP.NET Core 2.0، باید نسخه 3 پیش نمایش Visual Studio 2017 را نصب کنید.
همانطور که می بینید چیزهای جدیدی در ASP.NET Core 2.0 وجود دارد. امیدواریم از این ویژگی های جدید لذت ببرید.