تفاوت Asp Net Core نسخه 5 و 6 - مزایای Dot Net Core 6 چیست
سلام لطفا دوستانی که اطلاع دارن بفرمایند :
- تفاوت نسخه های دات نت کور 5 و 6 چی هست ؟
- مزایای استفاده از Core 6 چی هست ؟
- چه چیزایی توی Core 6 جدید هست ؟
فرق بین Asp net Core 5 و Asp net Core 6 چیست ؟
زمانی که مایکروسافت تکنولوژی Core را معرفی کرد یک جمله در مورد این تکنولوژی زیاد به گوش می خورد. "تکنولوژی Core یک بازنویسی کامل از Mvc قدیمی هست." در واقع مایکروسافت با معرفی Core به طور کامل Mvc قدیمی رو کنار گذاشت و یک پلت فرم جدید رو ارائه کرد.
حالا در مورد Core 6 و دات نت کور 6 هم میشه تا حدود کمی این جملات رو به کار برد. (البته تغییرات به اندازه قبل نیست). در کور 6 هم تغییرات زیادی انجام شده و بهبودهای فراوانی صورت گرفته. در ادامه به برخی از اونها اشاره میکنم.
قابلیت ها و مزایای استفاده از Dot Net Core 6
در Asp.net Core 6 در بخش های مختلف تفاوت ها و مزایایی ایجاد شده است.
API ها
در Asp.net Core 6 تغییرات محسوس در API ها به وجود آمده است. در این نسخه Api هایی به نام Minimal Api ها به وجود آمده است. می دانیم که Api ها برای انتقال اطلاعات از Http استفاده می کنند. در minimal api ها وابستگی به Http به حداقل رسیده و برای میکروسرویس ها و اپلیکیشن هایی که نیاز به انتقال فایل ندارند یا رد و بدل اطلاعات در آنها کوچک می باشد و یا ویژگی ها و وابستگی های کمی دارند، بسیار مناسب می باشد.
SignalR
یکی از قابلیتهای موجود در Asp.net Core تکنولوژی SignalR می باشد. (آموزش کار با SignalR در Asp.net Core) در نسخه 6 از Asp.net Core تغییراتی در SignalR ایجاد شده است.
- ایجاد کانکشن پایدار جهت فعالیت طولانی مدت در SignalR : خب یکی از مشکلاتی که گاهی در ارتباط سیگنال آر با Hub به وجود می آید قطع اتصال می باشد. در این صورت سیگنال آر قابلیت خود را از دست می دهد و عملا نیاز به رفرش جهت ایجاد اتصال تازه پیدا می شود. در نسخه 6 از کتابخانه Microsoft.AspNetCore.Http.Features.IHttpActivityFeature.Activity می توان برای ایجاد یک ارتباط طولانی مدت استفاده کرد. هنگام استفاده از این کتابخانه یک تگ با عنوان http.long_running در درخواست سیگنال آر ایجاد می شود که یک ارتباط طولانی مدت و پایدارتر را ایجاد می کند.
- معرفی کلاس HubCallerClients : در نسخه های قبلی هر بار که قصد استفاده از SignalR را داشتیم یک Hub تعریف می کردیم. عملا ممکن بود یک کلاینت که در 2 یا چند نقطه از سیستم در حال کار است چندین اتصال به Hub را داشته باشد. اکنون توسط HubCallerClients فقط یک اتصال در هر کلاینت ایجاد می شود.
- نگهداری حالت در یک متغیر استاتیک و local : در صورتی که به هر دلیل ارتباط با Hub قطع شود آخرین وضعیت در یک متغیر استاتیک و local نگهداری می شود تا به محض وصل شدن ارتباط از آخرین وضعیت شروع به کار شود.
Razor compiler
Hot Related : یکی از قابلیت های جذاب در Core 6 و البته ویژوال استودیو 2022 قابلیت Hot Related می باشد. توسط این قابلیت شما می تواتید هر تغییری که در سورس پروژه انجام دادید بدون نیاز به متوقف کردن پروژه تغییرات را در خروجی کار مشاهده کنید. در نسخه های قبلی بعد از انجام هر تغییری می بایست حتما پروژه Stop و مجدد Start می شد. این قابلیت موجب سرعت در توسعه نرم افزار خواهد شد.
دقت کنید که کامپایلر Razor قبلا هنگام کامپایل پروژه یک فرآیند 2 مرحله ای را انجام میداد. در واقع یک مجموعه ای View ها را در یک مرحله ایجاد می کرد (همان فایل های cshtml) و این باعث می شد که خروجی کار را حین Run بودن پروژه نتوان مشاهده کرد. اما در حال حاضر یک مجموعه مهر و موم شده یک مرحله ای عملیات کامپایل انجام می شود. در این نسخه هم سرعت کامپایل بهتر و بالاتر می باشد و هم اینکه می توان حین Run بودن پروژه هم تغییرات را اعمال کرد و خروجی را مشاهده کرد.
برخی بهبودهای دیگر در Asp.net Core 6
- کاهش حافظه تخصیص یافته موقع استفاده از Cookie
- افزایش 50 درصدی سرعت دسترسی در متدهایی که از Get استفاده می کنند. مانند اینترفیسهای :
- IHttpRequestFeature
- IHttpResponseFeature
- IHttpResponseBodyFeature
- IRouteValuesFeature
- IEndpointFeature
- کاهش حافظه و تخصیص منابع سیستمی با حذف Log ها در انواع جنریک
در مجموع از لحاظ سرعت در بسیاری از متدها و توابع و عملیات نسخه 6 بهبودهای قابل توجهی نسبت به نسخه های قبلی داشته.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2