آموزش مقدماتی Asp.net core (جلسه اول)

معرفی ASP.Net Core

 

ASP.NET یک فریمورک محبوب برای ساخت و توسعه برنامه های وب بر روی پلتفرم دات نت است. ASP.NET Core نسخه اوپن سورس ASP.NET است که بر روی macOS ،Linux و Windows اجرا می شود. ASP.NET Core برای اولین بار در سال 2016 منتشر شد و طراحی مجدد نسخه های اولیه Windows-ASP.NET است. این فریمورک یک بازنویسی کامل است که ASP.NET MVC و ASP.NET قبلاً جداگانه API را در یک مدل برنامه نویسی واحد متحد می کند. با اینکه یک فریمورک جدید است، که بر روی یک پشته وب جدید ساخته شده است، اما از سازگاری مفهومی با ASP.NET برخوردار است. برنامه های اصلی ASP.NET Core از نسخه های جانبی در کنار هم پشتیبانی می کنند که در آن برنامه های مختلف، در حال اجرا با همان دستگاه، می توانند نسخه های مختلف ASP.NET Core را هدف قرار دهند. این قابلیت با نسخه های قبلی ASP.NET امکان پذیر نیست.

 

ASP.NET Core کراس پلتفرم، با عملکرد بالا برای ساخت برنامه های مدرن، مبتنی بر ابر و مبتنی بر اینترنت است. با Core ASP.NET، می توانید:

 

  • ایجاد برنامه ها و سرویس های وب، برنامه های اینترنت اشیا و بک اند موبایل.
  • از ابزارهای توسعه مورد علاقه خود در Windows،macOS و Linux استفاده کنید.
  • از ابر یا فضای لوکال استفاده کنید.
  • فریمروک NET Core. یا NET. را اجرا کنید.
کاربرد ASP.Net Core

 

اولین نسخه پیش نمایش ASP.NET تقریباً 15 سال پیش به عنوان بخشی از دات نت فریمورک منتشر شد. از آن زمان میلیون ها نفر از برنامه نویسان از آن برای ساخت و اجرای برنامه های عالی وب استفاده کرده اند و با گذشت سال ها، بسیاری از قابلیت ها را به آن اضافه شده است. ASP.NET Core دارای چندین تغییر در معماری است که منجر به یک فریمورک بسیار سبک و مدولار می شود. ASP.NET Core دیگر مبتنی بر System.Web.dll نیست. این است که در مجموعه ای از بسته های گرانول و فاکتوری NuGet ساخته شده است. این به شما امکان می دهد تا برنامه خود را بهینه کنید و فقط بسته های NuGet مورد نیاز خود را درج کنید. مزایای استفاده از یک برنامه سطح کوچکتر شامل امنیت سخت تر، کاهش سرویس دهی، بهبود عملکرد و کاهش هزینه ها است.

 

با ASP.Net Core پیشرفت های اساسی زیر را بدست می آورید:

 

  • یک برنامه واحد برای ساخت UI وب و API های وب
  • ادغام فریمورک های مدرن سمت کلاینت و گردش کار توسعه
  • یک سیستم پیکربندی مبتنی بر محیط آماده برای ابر
  • تزریق وابستگی داخلی
  • خطوط ارتباطی HTTP سبک وزن و مدولار جدید
  • امکان هاستینگ در IIS یا self-host
  • ساخته شده در NET Core.، که از نسخه های جانبی برنامه واقعی پشتیبانی می کند.
  • بطور کامل بسته های NuGet ارسال می شود.
  • ابزار جدیدی که توسعه وب مدرن را ساده می کند.
  • برنامه های cross-platform ASP.NET را بر روی ویندوز، مک و لینوکس بسازید و اجرا کنید.
قابلیت مشاهده در ASP.Net Core

 

روش های نوین توسعه نرم افزار، به روزرسانی های سریع و مداوم را ارزیابی می کنند، به دنبال آن فرآیند هایی که تأثیر خرابی نرم افزار را به حداقل می رسانند توسعه پیدا کرده اند. به همان اندازه که شناسایی اشکالات زود هنگام مهم است، این که بدانید که آیا تغییرات باعث افزایش ارزش تجارت می شوند، نیز مهم هستند. این شیوه ها فقط در صورت عملی شدن راه حل نظارت قابل استفاده هستند. در اینجا گزینه هایی برای افزودن مشاهده به برنامه های دات نت کور مورد بررسی قرار گرفته است. این گزینه ها بر اساس تعامل با مشتریانی که از Net Core. استفاده می کنند در محیط های مختلف جمع آوری شده اند. در اینجا به SDK های OpenTelemetry و Application Insights مراجعه می شود تا قابلیت مشاهده را به یک برنامه توزیع شده نمونه اضافه شود.

 

مبانی مشاهده

 

شناسایی خطای نرم افزار و تأثیرات تجاری نیاز به یک راه حل نظارت با امکان مشاهده و گزارش نحوه رفتار سیستم و کاربران دارد. داده های جمع آوری شده باید اطلاعات لازم را برای تجزیه و تحلیل و شناسایی بروزرسانی بد فراهم کنند. در پاسخ به سؤالاتی از قبیل:

 

  • آیا خطاهای بیشتری نسبت به گذشته مشاهده می کنیم؟
  • آیا انواع خطای جدید وجود دارد؟
  • آیا مدت زمان درخواست به طور غیر منتظره ای نسبت به نسخه های قبلی افزایش یافته است؟
  • آیا توان (req / sec) کاهش یافته است؟
  • آیا CPU یا استفاده از حافظه افزایش یافته است؟
  • آیا تغییراتی در KPI ایجاد شده است؟
  • آیا فروش کمتر از گذشته است؟
  • آیا تعداد بازدید کنندگان کاهش می یابد؟

تأثیر یک بروزرسانی بد سیستم را می تواند با ترکیب اطلاعات نظارت با استراتژی های استقرار مترقی به حداقل رساند.

 

قابلیت مشاهده بر 3 پایه ساخته شده است:

 

  • ورود به سیستم (Logging): اطلاعات مربوط به اتفاقات رخ داده در سیستم را جمع آوری می کند. کمک به تیم برای تجزیه و تحلیل رفتار برنامه غیر منتظره. جستجو از طریق لاگ های مربوط به سرویس می تواند نکات لازم را برای شناسایی علت اصلی مشکل ارائه دهد. مانند تماس با سرویس های خارجی با یک آدرس نادرست، تماس با سرویس های خارجی با نتایج غیر منتظره و درخواست های دریافتی با ورودی غیر منتظره باز می گردد.
  • ردیابی (Tracing): اطلاعاتی را برای ایجاد ویو end-to-end در مورد نحوه انجام تعامل در یک سیستم توزیع شده جمع می کند. ردیابی مانند اثری از پشته است که چندین برنامه کاربردی دارد. پس از شناسایی یک مشکل، ردپاها نقطه شروع خوبی در شناسایی منبع در عملیات توزیع شده هستند. مانند تماس های سرویس A تا B بیشتر از حد معمول طول می کشد، مکالمات پرداخت خدمات نیز از کار می افتند و غیره.
  • متریک (Metrics):یک نشانه real-time از نحوه عملکرد سیستم فراهم کنید. می توان از آن برای ساختن هشدار استفاده کرد و به واکنش های مقادیر غیر منتظره اجازه دسترسی داد. بر خلاف لاگ ها و ردیابی، مقدار داده های جمع آوری شده با استفاده از اندازه گیری ها با افزایش بار سیستم ثابت می ماند. مشکلات کاربرد اغلب از طریق مقادیر متریک غیر طبیعی تشخیص داده می شوند. مانند استفاده از پردازنده بالاتر از گذشته، افزایش خطا در شمارش خطا و تعداد موارد در صف رشد رو به رشد است.