«ASP.NET Core» ابزاری رایگان و سریع برای ساخت اپلیکیشنهای مدرن اینترنتی است. با استفاده از این فریم ورک میتوانیم اپهایی ایجاد کنیم که بر روی سیستم عاملهای ویندوز، لینوکس و «MacOS» کار میکنند. این اپلکیشنها را حتی میتوان در کانتینرهای داکر هم فعال کرد. برای دانستن اینکه ASP.NET Core چیست باید با «NET Framework.» آشنا باشیم. زیرا این ابزار، بخشی از پلتفرم «NET.» است. خود این پلتفرم با هدف کمک به توسعهدهندگان برای ساخت وبسایتها و سرویسهای آنلاین ساخته شده است. توجه کنید که دو ابزار مختلف با نامهای ASP.NET و ASP.NET Core وجود دارند. نباید این دو را با یکدیگر یکسان در نظر بگیرید. ASP.NET Core اوپن سورس بوده و بر روی بیشتر سیستم عاملها مانند لینوکس و MacOS و ویندوز کار میکند. این نسخه برای ساخت اپلیکیشنهای مدرن با توانایی کار بر روی فضای ابری، گزینه بهتری است.
آنچه در این مطلب میآموزید:
-
با معماری فریمورک ASP.NET Core آشنا شده و روش کار آن را درک میکنیم.
-
با بررسی دقیق، تفاوتهای بین ASP.NET Core و ASP.NET را تشخیص میدهیم.
-
با مهمترین مزایای استفاده از ASP.NET Core و علت محبوبیت آن آشنا میشویم.
-
میفهمیم که برای اجرای چه پروژههایی باید از ASP.NET Core استفاده کنیم.
-
با مهمترین اپلیکیشنهای قابل ساخت توسط فریم ورک ASP.NET Core آشنا میشویم.

در این مطلب از مجله فرادرس با فریمورک ASP.NET Core آشنا میشویم. ابتدا توضیح میدهیم که ASP.NET Core چیست و معماری آن را بررسی میکنیم. سپس این فریمورک را با گزینه مشابه آن، یعنی ASP.NET مقایسه میکنیم. در بخشهای پایانی مطلب، نیز مزایای استفاده از این فریمورک را در کنار کاربردهای بیان میکنیم.
ASP.NET Core چیست؟
ASP.NET Core فریمورک مدرنی است که توسط مایکروسافت توسعه داده شده. وظیفه این فریمورک، کمک به ساخت اپلیکیشنهای تحت وب مقیاسپذیر، «API-ها» و سرویسهای اختصاصی فضای ابری است. ASP.NET Core براساس پلتفرم «NET.» توسعه داده شده است. این فریمروک به صورت اوپن سورس، چندپلتفرمی و با قابلیت انعطافپذیری بالا ساخته شده است. «NET.» به توسعهدهندگان کمک میکند تا نرمافزارهایی برای کار بر روی سیستمعاملهای ویندوز، لینوکس و MacOS بسازند.
فریمورک ASP.NET Core با استفاده از روشهای مدرن به توسعه اپلیکیشنها کمک میکند. چند مورد از این تکنیکها را در فهرست پایین نوشتهایم.
- از معماری میکروسرویسها پشتیبانی میکند.
- با API-ها هم به خوبی کار میکند.
- با کمک این فریمورک میتوانیم «اپلیکیشنهای تکصفحهای» (Single Page Applications | SPA) درست کنیم.
- با کمک «SignalR» از اپلیکیشنهای بیدرنگ هم پشتیبانی میکند.
ASP.NET Core با تکنولوژیهای مدرن سازگار است. در نتیجه میتوان از آن برای توسعهنرمافزار با روشهای انعطافپذیری مانند کانتینرهای داکر ، سرورهای محلی یا فضاهای ابری مانند Azure نیز استفاده کرد.
علاوه بر این مطالب، برای داشتن کارایی و سرعت بالا هم میتوان بر روی این فریمورک حساب کرد. زیر با کمک آن پروژهها با سرعت بسیار بالایی اجرا میشوند.فریمورک ASP.NET Core یکی از سریعترین گزینههای موجود است.
معماری ASP.NET Core
در این بخش از مطلب، توضیح دادهایم که معماری مورد استفاده در ASP.NET Core چیست. این فریمورک طوری طراحی شده است که هم ماژولار باشد و هم سبکوزن. در این فریمورک از سیستمی به نام «میانافزار» (Middleware) استفاده میکنیم. Middleware تمام درخواستهای HTTP را در پایپلاینها مدیریت میکنند. این پایپلاینها به سادگی قابل پیکربندی هستند.
ASP.NET Core بر اساس مجموعهای از ماژولها یا Middleware-ها ساخته شده است. هر وظیفهای مانند «تایید هویت» (Authentication) کاربران، «مسیریابی» (Routing) یا مدیریت خطا با کمک یک ماژول یا Middleware اجرا میشود.
همین طور که اشاره شد، هدف از معماری ASP.NET Core بخشیدن ساختار ماژولار و قابل جداسازی به قطعات این فریمورک است. یعنی میتوانیم ویژگیهای مختلف را راحتتر اضافه یا حذف کنیم. در نتیجه، کار با آن سادهتر شده است.

در فهرست زیر، چند مورد از عناصر مهم در معماری ASP.NET Core را نام بردهایم.
- Middleware
- «کنترل کننده»(Controller)
- «تزریق وابستگی» (Dependency Injection)
- «محیط» (Environment)

در ادامه مطلب تمام موارد بالا را یک به یک بررسی کردهایم.
Middleware
Middleware در ASP.NET Core به زنجیرهای از عناصر گفته میشود که درخواستهای ورودی و خروجی HTTP را پردازش میکنند. معماری Middleware بر اساس «پایپلاین درخواست» (Request Pipeline) ساخته شده است. در این معماری، هر عنصری باید بتواند دو کار زیر را انجام دهد.
- پردازش درخواستها
- ارسال درخواست به Middleware بعدی در زنجیره
کد زیر، بخشی از پیکربندی Middleware در یک پروژه ASP.NET Core است.
کنترل کننده
ASP.NET Core از روشی به نام «مدل-نما-کنترلکننده» (Model-View-Controller | MVC) برای طراحی اپلیکیشنهای تحت وب استفاده میکند. برای ساخت «REST API»-ها هم از چیزی به نام «کنترل کننده API» یا (API Controller) کمک میگیرد.
«پیکربندی مسیر» (Route Configuration) مشخص میکند که هر کدام از آدرسهای اینترنتی (URL) به کدام بخش از برنامه رفته و چه کاری انجام دهند.
در کدهای زیر، مثال سادهای از پیادهسازی کنترل کننده را نوشتهایم.
تزریق وابستگی
ASP.NET Core دارای ابزاری به صورت درونی است که به آن «تزریق وابستگی» (Dependency Injection) گفته میشود. «تزریق وابستگی» به توسعهدهندگان کمک میکند که بخشهای مختلف کد خود را از یکدیگر جدا کنند. در نتیجه کدهای اپلیکیشن تمیزتر بوده و مدیریت آنها سادهتر است.
در کادر زیر، کلاس Startup وابستگی مورد نظر را در بخش وابستگیها ثبت میکند.
محیط
در فریمورک ASP.NET Core برای تنظیم کردن اپلیکیشن، از فایلهایی مانند «Appsettings.json» و «Environment variables» و غیره استفاده میکنیم.
برای مثال، در کد زیر تنظیمات مربوط به اتصال به پایگاه داده نوشته شدهاند. این اطلاعات را باید در فایل «Appsettings.json» ذخیره کنیم.
آموزش ASP.NET Core و ASP.NET با کمک فرادرس
ASP.NET Core و ASP.NET هر دو فریمورکهایی برای برنامهنویسی وب هستند. در بخش بعدی مطلب این دو را با همدیگر مقایسه کردهایم. در این بخش فقط توضیح خلاصهای درباره آنها و روش استفاده از فیلمهای فرادرس برای آموزش هرچه بهتر استفاده از این ابزار را بیان کردهایم. این ابزارها هر دو توسط شرکت مایکروسافت طراحی و توسعه داده شدهاند. هر دوی این فریمورکها از زبانهای برنامهنویسی مختلفی مانند C# و Visual Basic استفاده میکنند. همچنین با استفاده از مفاهیم اصلی مانند MVC و Web API، توسعه برنامههای وب را آسانتر کردهاند.

از آنجا که این ابزارها، بخصوص ASP.NET Core، کاربرد بسیار گستردهای دارند. موقعیتهای شغلی فراوانی هم در مقابل توسعهدهندگان آنها قرار میگیرد. به همین منظور فرادرس هم تلاش کرده است تا فیلمهای آموزشی باکیفیتی برای علاقهمندان تولید کند. استفاده از فیلمهای آموزشی فرادرس به دلیل مقرونبهصرفه بودن و کیفیت بالای آنها یکی از بهترین راههای تقویت مهارتهای برنامه نویسی است.
در پایین چند مورد از فیلمهای آموزشی فرادرس درباره فریمورکهای ASP.NET Core و ASP.NET را معرفی کردهایم.
برای تماشای فیلمهای بیشتر بر روی تصویر بالا کلیک کنید. در بخش بعدی مطلب، این دو فریمورک را معرفی کرده و تفاوتهای بین آنها را بررسی کردهایم.
مقایسه ASP.NET Core با ASP.NET
ASP.NET Core نسخه بازسازیشدهای از فریمورک قدیمی ASP.NET است. برای اینکه این ابزار سبکتر، انعطافپذیرتر و کارآمدتر شود، مهندسین مایکروسافت آن را از نو بازنویسی کردهاند.
اگر با نسخههای قدیمی این ابزار کار کردهاید یا اینکه نام آن به نظرتان آشنا میآید، نباید این دو را با هم به اشتباه بگیرید. ASP.NET Core و «ASP.NET Framework» تکنولوژیهای کاملا متفاوتی هستند.
در پایین هر کدام از این گزینهها را به شکل مختصر توضیح دادهایم.
ASP.NET Core چیست؟
این فریمورک نسخه جدیدی از ASP.NET است. میتوان گفت که به طور کامل بازنویسی شده است. ASP.NET Core .در سال ۲۰۱۶ منتشر شد. برای اینکه این ابزار ماژولار، چندپلتفرمی و کم حجمتر شود، آن را از اول طراحی و پیادهسازی کردهاند.
برعکس نسخه قدیمی، ASP.NET Core برای کار کردن وابسته به ویندوز یا «IIS» نیست. بنابراین اپلیکیشنهای نوشته شده میتوانند بر روی سیستم عاملهای مختلفی مانند لینوکس و MacOS هم اجرا شوند.

نکته: IIS سرنامی از عبارت انگلیسی «سرور اطلاعات اینترنتی» (Internet Information Server) مایکروسافت است.
فریم ورک ASP.NET چیست؟
این فریمورک، نسخه قدیمی ASP است. ASP.NET توسط مایکروسافت، در سال ۲۰۰۲ و به عنوان بخشی از فریومورک «NET.» منتشر شد. این پلتفرم برای توسعه وباپلیکیشنها طراحی شده بود. هدف از طراحی این اپلیکیشن آن بود که توسعهدهندگان بتوانند با استفاده از زبانهایی مانند سی شارپ و VB.NET وباپلیکیشنهای پویا، سرویسهای تحت وب و اپلیکیشنهای بسیار بزرگ و سازمانی بسازند. بیش از یک دهه، فریمورک ASP.NET، اولین گزینه برای توسعه برنامههای تحت وب در فضای «NET.» بود.
توسعهدهندگان برنامههای تحت وب، به غیر از داشتن مهارت برنامهنویسی با فریمورکهایی مانند ASP.NET Core یا ASP.NET باید اطلاعات فنی هم درباره وب سرور داشته باشند. در صورتی که نسبت به این ابزار مهم اطلاعات کمی دارید، پیشنهاد میکنیم که مطلب مربوط به آن را در مجله فرادرس مطالعه کنید.
مهم ترین مزایای استفاده از ASP.NET Core چیست؟
در حال حاضر، فریمورک ASP.NET Core هر روز بین توسعهدهندگان محبوبتر میشود. دلایل زیادی برای گرایش توسعهدهندگان به سمت این ابزار وجود دارد. مهمترین دلایل استفاده از ASP.NET Core را در فهرست زیر نام بردهایم.
- کارایی بالا
- اوپن سورس بودن
- چند پلتفرمی بودن
- سبکوزن و ماژولار بودن
- وجود سیستم تزریق وابستگی به صورت درونی
- آماده برای کار بر روی فضای ابری
باید اشاره کنیم که بخش بزرگی از این مزیتها بخاطر استفاده از معماری MVC است. برای درک این نکته که بهترین روش استفاده از ASP.NET Core چیست باید با این معماری آشنا بوده و بتوانید از آن استفاده کنید. به این منظور پیشنهاد میکنیم که فیلم آموزش معماری سه لایه درASP.NET با MVC و Core را از فرادرس مشاهده کنید. به منظور کمک به مخاطبان مجله، لینک این فیلم را در پایین نیز قرار دادهایم.
در ادامه این بخش از مطلب، تمام دلایل نامبرده شده در بالا را تک به تک بررسی کردهایم.
کارایی بالا
ASP.NET Core با هدف رسیدن به کارآیی بالا بهینهسازی شده است. معماری ماژولار این ابزار به توسعهدهندگان کمک میکند که فقط وابستگیهای مورد نیاز را به برنامه اضافه کنند. در نتیجه اپلیکیشن سریعتر اجرا شده و از منابع کمتری استفاده میکند. آزمایشها نشان میدهند که اپلیکیشنهایی ساخته شده با ASP.NET Core نسبت به اپلیکیشنهای ساخته شده توسط فریمورک قدیمی ASP.NET معمولی، سرعت بسیار بیشتری دارند. در نتیجه استفاده از ASP.NET Core گزینه بسیار خوبی برای ساخت وبسایتهای پُرکاربَر و اپلکیشنهایی است که در فضای ابری کار میکنند.
برای درک بهتر تفاوت سرعت، به تصویر زیر نگاه کنید. این تصویر مقدار درخواست پردازش شده در واحد ثانیه را نشان میدهد.

اوپن سورس بودن
فریمورک ASP.NET Core اوپن سورس است. در واقع همین اوپن سورس بودن مهمترین دلیل شهرت و محبوبیت این فریمورک شده است. تمام کدهای منبع ASP.NET Core در گیت هاب در دسترس عموم قرار گرفتهاند. برای دانلود کدهای این فریمورک در گیتهاب میتوانید از لینک(+) استفاده کنید. اوپن سورس بودن ASP.NET Core باعث شده که توسعهدهندگان بتوانند کارهای زیر را انجام دهند.
- کدهای منبع را دانلود کرده و به صورت دقیق بررسی کنند.
- در صورت نیاز این کدها را تغییر داده یا برای خود سفارشی کنند.
- در فرایند توسعه کدها مشارکت کنند. با این کار میتوانند از مزیت همکاری با بیش از ۱۰۰ هزار مشارکتکننده مختلف از بیش از ۳۷۰۰ شرکت توسعه نرمافزاری بهرهمند شوند.
تمام بخشهای دات نت، اوپن سورس هستند. این مسئله شامل موارد فهرست پایین میشود.
- کتابخانههای کلاسی
- کامپایلرها
- زبانهای برنامه نویسی
- فریمورک ASP.NET Core
- فریمورکهای مربوط به ساخت اپلکیشنهای دسکتاپ در ویندوز
- کتابخانه دسترسی به دادهها در Entity Framework Core
- و غیره
تیم ASP.NET Core به توسعهدهندگان در طول توسعه اپلیکیشنها کمک میکنند. این تیم بیشتر اوقات مشغول برطرف کردن باگها و ارتقا کارآمدی فریمورک ASP.NET Core هستند. معمولا بهروزرسانیها به صورت منظم و با سرعت ارائه میشوند. بنابراین برنامه نویسان مجبور نیستند که مدت زمان زیادی برای دریافت بهروزرسانی منتظر بمانند.
چند پلتفرمی بودن
فریمورک ASP.NET Core از ابتدا با هدف چندپلتفرمی بودن طراحی شده است. یعنی آن که اپلیکیشنهای طراحی شده با ASP.NET Core میتوانند بر روی سیستم عاملهای ویندوز، لینوکس و MacOS کار کنند. این اپلیکیشنها را میتوان بر روی کانتینرهای داکر هم فعال کرد. فرض کنیم برنامه نویسی میخواهد، اپلیکیشنی با هدف کار بر روی سیستم عاملهای مختلف بسازد. این برنامه نویس دیگر نیاز ندارد تا از فریمورکهای مختلف برای ساختن اپلیکیشنهای مجزا استفاده کند.
در مقابل، اپلیکیشنهای ساخته شده با فریمورک قدیمی ASP.NET فقط میتوانند بر روی پلتفرمهای مبتنی بر ویندوز کار کنند. نه تنها اپلیکیشنهای ساخته شده با ASP.NET Core بر روی پلتفرمهای مختلف اجرا میشوند، بلکه حتی میتوان آنها را بر روی سیستم عاملهای مختلف نیز توسعه داد.

وباپلیکیشنهای ساخته شده با ASP.NET را فقط میتوانستیم بر روی IIS میزبانی کنیم. اما اپلیکیشنهای ASP.NET Core را میتوان بر روی سرورهای IIS و «Nginx» و «Apache» و داکر راهاندازی کرد.
سبکوزن و ماژولار بودن
فریمورک ASP.NET Core طوری ساخته شده که ماژولار باشد. در نتیجه برنامه نویسان در زمان نیاز فقط لازم است کتابخانههای مورد نیاز خود را به آن اضافه کنند. بنابراین، اندازه کلی اپلیکیشن ساخته شده کاهش پیدا میکند. از طرف دیگر کارایی آن هم افزایش مییابد. وابستگیها با استفاده پکیجهای NuGet مدیریت میشوند. در نتیجه حذف و اضافه کردن ویژگیهای مختلف سادهتر شده است.
وجود سیستم تزریق وابستگی به صورت درونی
ASP.NET Core دارای ابزار درونی به نام «تزریق وابستگی» (Dependency Injection | DI) است. این ابزار به توسعهدهندگان کمک میکند تا طول عمر و وابستگیهای سرویسها را مدیریت کنند. در نتیجه امکان نگهداری و آزمایش کدها بیشتر میشود.
آماده به کار بر روی فضای ابری
یکی از مهمترین اهداف طراحی ASP.NET Core این است که اپلیکیشنهایی برای کار بر روی فضای ابری طراحی کند. در این فریمورک، تنظیمات مخصوصی برای کمک به قرار دادن اپلیکیشنها در فضای ابری فراهم شدهاند. با کمک این تنظیمات میتوانیم در هنگام نیاز، اپلیکیشنهای خود را بزرگتر یا کوچکتر کنیم. همچنین راهاندازی برنامه در فضای ابری سادهتر میشود. به عنوان نمونهای از فضاهای ابری میتوانیم به Microsoft Azure اشاره کنیم.
چگونه با کمک فیلم های فرادرس دات نت را یاد بگیریم؟
فرادرس مجموعهای از فیلمهای آموزشی متنوع برای یادگیری داتنت از سطح مقدماتی تا پیشرفته تولید کرده است. این فیلمها توسط اساتید با تجربه تهیه شدهاند و برای افرادی که قصد دارند به صورت اصولی و مرحلهبهمرحله مهارتهای داتنت را یاد بگیرند، بسیار مناسب هستند. فریمورک «داتنت» (NET.) یکی از بسترهای بسیار قدرتمند و محبوب توسعه نرمافزار در جهان است. این فریمورک توسط شرکت مایکروسافت ارائه شده است. در پایین چند مورد از فیلمهای آموزش داتنت را معرفی کردهایم.
برای مشاهده فیلمهای بیشتر، بر روی تصویر زیر کلیک کنید.

در ادامه مطلب، توضیح دادهایم که کاربرد ASP.NET Core چیست و چرا در بین توسعهدهندگان اپلیکیشنهای وبمحور محبوب شده است.
کاربردهای ASP.NET Core چیست؟
ASP.NET Core دارای مجموعه کاملی از تکنولوژیها و ابزارها است. این ابزارها به توسعهدهندگان کمک میکنند که هر سایت قابل تصوری را ایجاد کنند. از سادهترین سایتها تا پیچیدهترین آنها را میتوان با کمک این فریمورک ایجاد کرد.
اگر بخواهیم API-ها و اپلیکیشنهای تحت وب با معماری شفاف و قابل آزمایش بسازیم از ASP.NET Core استفاده میکنیم که از الگوی MVC پیروی میکند. در ضمن، با کمک این فریمورک میتوانیم صفحات اینترنتی را با استفاده از زبان سی شارپ و جاوا اسکریپت بسازیم. طوری که منطق برنامه بین کلاینت و سرور به صورت مشترک اجرا شود. برای این کار باید از Blazor استفاده کنیم.
در زمان کار با ASP.NET Core تقریبا هیچ محدودیتی برای ساخت برنامهها وجود ندارد. در تصویر زیر، مثالی از اپلیکیشن ساخته شده با Blazor را مشاهده میکنید. این اپلیکیشن با چند کلیک و فرمان ساده قابل استفاده است.

مزیت دیگر اپلیکیشنهای ساخته شده با ASP.NET Core داشتن «طراحی واکنشگرا» (Responsive Design) است. این سبک برای استفاده از اپلیکیشن بر روی دستگاههای موبایل کاربرد دارد. در تصویر زیر، نمای موبایل وب اپلیکیشن بالا را مشاهده میکنید.

انواع اپلیکیشنهای قابل ساخت با ASP.NET Core
در این بخش از مطلب، انواع اپلیکیشنهای قابل ساخت با ASP.NET Core را معرفی کردهایم.
- «اپلیکیشنهای تحت وب» (Web applications): اپلیکیشنهای تحت وب بر روی سرورهای اینترنتی راهاندازی میشوند. با استفاده از مرورگرهای اینترنتی میتوان به این اپلیکیشنها دسترسی داشت. برای کار با این اپلیکیشنها از پروتکلهای HTTP و HTTPS استفاده میشود.
- اپلیکیشنهای موبایل: از اپلیکیشنهای موبایل میتوان بر روی گوشیهای هوشمند و تبلتها استفاده کرد. این اپلیکیشنها به دو دسته اصلی تقسیم میشوند. اپلیکیشنهای بر مبنای وب و اپلیکیشنهای هیبرید یا ترکیبی.
- اپلیکیشنهای بر مبنای وب: اپلیکیشنهای برمبنای وب، نیاز به نصب ندارند. این اپلیکیشنها را میتوان به سادگی و با استفاده از مرورگرهای اینترنتی به کار برد.
- اپلیکیشنهای هیبرید: این اپلیکیشنها مانند اپهای بومی موبایل هستند. این اپلیکیشنها بر روی دستگاه نصب میشوند. اما برای اجرا نیاز به اینترنت دارند.
- وبسرویسها: این نرم|فزارها سرویسهایی هستند که با استفاده از آدرس URL به کلاینت متصل میشوند. این سرویسها برای دسترسی و کار با سایر سرویسها و اپلیکیشنها از پروتکلهای SOAP و XML و HTTP و HTTPS استفاده میکنند.
- اپلیکیشنهای مربوط به «اینترنت اشیا» (Internet of Things | IoT): این اپلیکیشنها بر روی دستگاههای IoT اجرا میشوند. با کمک این اپلیکیشنها میتوانیم ارتباطات دوطرفهای را پیادهسازی کنیم. این نرمافزارها در بخشهای مختلفی مانند تلفنهای هوشمند، کارخانهجات، خودروها، گجتهای پوشیدنی و ابزارهای مربوط به بهداشت و درمان به کار برده میشوند.

جمعبندی
ASP.NET Core فریمورکی مدرن و اوپن سورس از مایکروسافت است. این فریمورک برای ساخت اپلیکیشنهای تحت وب، API، سرویسهای ابری و غیره طراحی شده است. ASP.NET Core چندپلتفرمی است . یعنی اینکه روی ویندوز، لینوکس و MacOS اجرا میشود. این فریمورک از معماری میکروسرویس، اپلیکیشنهای تکصفحهای (SPA)، اپلیکیشنهای بیدرنگ و تکنولوژیهایی مثل Docker و Azure پشتیبانی میکند. ASP.NET Core بسیار سریع، انعطافپذیر و مناسب برای توسعه نرمافزارهای مقیاسپذیر و مدرن است.
در این مطلب از مجله فرادرس، متوجه شدیم که ASP.NET Core چیست. برنامه نویسانی که به دنبال ساخت ابزارهایی مبتنی بر اینترنت هستند، از این ابزار استفاده میکنند. زیرا به راحتی میتوانند محصولات خود را بر روی سیستم عاملهای مختلف توسعهداده یا اجرا کنند. در صورتی که به دنبال موقعیت شغلی در حوزه طراحی اپلیکیشنهای مبتنی بر اینترنت هستید، یاد گرفتن ASP.NET Core کمک زیادی به شما میکند.
source