Міграція з .NET Core 2.2 на .NET Core 3.1: досвід nopCommerce

27 серпня 2020 р.

Оскільки .NET Core 3.1 буде офіційно підтримуватися до грудня 2022 року, міграція є актуальною темою в наш час. Варто перенести проект, якщо ви готові повністю скористатися оновленою базою та бути в курсі технологічних інновацій та зростаючих світових тенденцій. Ми пропонуємо вам вивчити всі особливості міграції на прикладі nopCommerce.

Проблеми, які необхідно вирішити в процесі переходу до .Net Core 3.1
Для швидко зростаючого проекту електронної комерції вкрай важливо приділити велику увагу продуктивності та безпеці системи. У першому огляді .NET Core 3.0 було оголошено, що нова версія фреймворку буде набагато швидшою та продуктивнішою. Реалізація наступних .Net Core 3.1 функцій підштовхує nopCommerce до нового рівня масштабованості, продуктивності та безпеки:

Багаторівнева компіляція дозволяє скоротити час запуску.
Нова вбудована високопродуктивна та низька пам'ять для JSON.
Маршрутизація кінцевої точки, введена в .NET Core 2.2, була вдосконалена. Основна перевага полягає в тому, що маршрут тепер визначається перед запуском програмного забезпечення.
На момент виходу наші очікування підтвердилися на практиці.

Далі розберемося, що саме вплинуло на продуктивність nopCommerce та як розвивався .NET Core з моменту виходу версії 2.2.

Що нового в .NET Core 3.1

Давайте детальніше розглянемо інновації .NET Core 3.1, які ми використовуємо в nopCommerce. Ви можете знайти докладні інструкції щодо переходу з .NET Core 2.2 на .NET Core 3.1 на офіційному веб-сайті Microsoft. У цій статті ми розглянемо переваги, які ми отримуємо за допомогою цих нововведень.

Родовий господар

У .NET Core 2.1 Загальний хост є доповненням до веб-хоста. Це дозволяє використовувати такі інструменти, як введення залежності (DI) та абстрагування журналів. .NET Core 3 підкреслив більшу сумісність із Generic Host, тому тепер можна використовувати оновлений Generic Host Builder замість Web Host Builder. Це дозволяє створювати будь-який додаток, від консольних додатків та WPF до веб-додатків, на тій же базовій хостинговій парадигмі з тими ж загальними абстракціями.