مایکروسافت سرویس های اصلی PaaS Azure را با آخرین نسخه دات نت به روز کرده است. در اینجا پشتیبانی لاغر دات نت ۶ در توابع Azure، سرویس برنامه Azure و برنامه های وب استاتیک Azure است.
راه اندازی نوامبر ۲۰۲۱ .NET 6 اولین نسخه پشتیبانی طولانی مدت (LTS) از پلت فرم جدید مبتنی بر NET Core را معرفی کرد. دات نت ۶ که تا نوامبر ۲۰۲۴ پشتیبانی می شود، برای کدهای تولیدی در نظر گرفته شده است که به پایه ای پایدار نیاز دارند. اکنون میتوانید روی NET 6 بسازید و مطمئن باشید که کد شما تا پس از راهاندازی NET 8 نیازی به تغییرات مهمی نخواهد داشت.
در نتیجه، تعجب آور نیست که ابزارهای اصلی PaaS (پلتفرم-به عنوان-خدمت) Azure .NET 6 را خیلی سریع با پشتیبانی فوری و “روز صفر” در Azure Functions، Azure App Service و Azure استفاده کنند. برنامه های وب استاتیک در زیر به پشتیبانی .NET 6 در این سرویس های محبوب Azure خواهیم پرداخت.
انتقال به NET 6 برای Azure منطقی است، زیرا نسخه قبلی LTS، .NET Core 3.1، در پایان سال ۲۰۲۲ از پشتیبانی خارج می شود. با یک سال همپوشانی، زمان برای انتقال کد خود به نسخه LTS فعلی وجود دارد. قبل از پایان پشتیبانی.
با .NET 6 توابع بدون سرور بسازید
واضحترین انتقال NET 6 با انتشار Azure Functions 4.0. پلتفرم بدون سرور مایکروسافت بهروزرسانیهای منظمی را دریافت میکند تا نسخههای جدیدی از تمام زمانهای اجرا اصلی خود را اضافه کند. برای توابع ۴.۰، اینها عبارتند از Node.js 14 برای کد جاوا اسکریپت، پایتون ۳.۷ و ۳.۹، جاوا ۸ و ۱۱، و PowerShell 7.0 مبتنی بر .NET Core 3.1 (که در نهایت به PowerShell 7.2 مبتنی بر NET 6 به روز می شود). با Azure Functions 4.0 زمان اجرای توصیه شده، باید آن را برای همه کدهای جدید و به عنوان یک هدف در هنگام به روز رسانی برنامه های موجود در نظر بگیرید.
این مهم است که به خاطر داشته باشید که لازم نیست بلافاصله کد را جابجا کنید. برنامههایی که در Azure Functions 3.x اجرا میشوند همچنان کار میکنند، اگرچه بهتر است مراقب اعلانهای سرویس Azure باشید تا مطمئن شوید که به یک نسخه جزئی خاص که در حال برداشته شدن است اعتماد نمیکنید. عملکردهای Azure 1.x و ۲.x اکنون در حالت تعمیر و نگهداری هستند، به این معنی که آنها باید فقط برای کدهای موجود استفاده شوند که به ویژگیهای خاص داتنت نیاز دارند و نمیتوانند برای اجرا در نسخههای جدیدتر بهروزرسانی شوند.
شروع با Azure Functions 4.0 نباید خیلی سخت باشد. کد موجود نوشته شده برای Azure Functions 3.x بر اساس .NET Core 3.1 یا .NET 5.0 و به راحتی باید مهاجرت کنند زیرا سازگاری زیادی بین این دو نسخه وجود دارد . کدهای قدیمی ممکن است نیاز به کمی کار داشته باشند، به خصوص اگر در حال انتقال از NET Framework 4 به نسخه منبع باز جدید هستید. برای ارتقا، ابتدا باید محیطهای آزمایشی و توسعه محلی را بهروزرسانی کنید تا برنامه خود را در Azure ارتقا دهید.
به روز رسانی توابع قدیمی تر دات نت Azure
شروع با در حال بهروزرسانی TargetFramework و AzureFunctionsVersion کد شما برای پشتیبانی از NET 6 و Azure Functions 4.0. در همان زمان، کتابخانه ها و بسته ها را از NuGet به روز کنید تا مطمئن شوید که نسخه های سازگار را اجرا می کنید. در Azure، از CLI برای تغییر نسخه Azure Functions مورد نظر خود برای برنامه خود استفاده کنید.
لازم نیست این کار را به یک انفجار بزرگ تبدیل کنید و همه برنامه های خود را همزمان به روز کنید. اگر از توابع Azure برای میزبانی APIها استفاده میکنید، میتوانید برنامههای مختلف را در زمانهای مختلف بهروزرسانی کنید یا حتی نسخههای اصلی جدید برنامهها را ایجاد کنید (به شما امکان میدهد ویژگیهای جدید را همزمان با ارتقاء نسخههای NET و Azure Functions اضافه کنید). اگرچه حفظ نسخههای مختلف یک API میتواند به حجم کاری شما بیافزاید، اما به شما این امکان را میدهد تا نقاط پایانی قدیمیتر را بهخوبی حذف کنید و به کاربران خود کمک کنید به نسخههای جدید مهاجرت کنند.
برخی تغییرات قطعی روی انتقال از Azure Functions 3 به Azure Functions 4 تأثیر میگذارد، که بیشتر به دلیل تغییرات در زمان اجرای NET. برخی، مانند حذف پشتیبانی از پراکسیهای توابع Aure، نیاز به استفاده از سرویسهای جایگزین Azure دارند. دیگران به تغییرات کد یا کتابخانه نیاز دارند. به عنوان مثال، اکنون توابع Azure حداقل نسخه ها را برای برنامه های افزودنی اعمال می کند، بنابراین باید مطمئن شوید که کد قبل از انتشار در Azure به روز شده است.
یک تغییری که ممکن است باعث ناراحتی شود، الزام استفاده از حسابهای ذخیرهسازی جداگانه برای برنامههایی است که نام میزبان محاسبهشده یکسانی دارند (معمولاً به دلیل طولانی بودن و کوتاه شدن خودکار آنها، چیزی در حدود ۳۰ درصد از برنامهها در حال اجرا بر روی Azure Functions 3)، که می تواند شروع کد را متوقف کند. در عمل، نباید خیلی مشکل ایجاد کند، اما اکنون برنامهها را دچار خطا و از کار میاندازد، جایی که قبلاً فقط یک هشدار ایجاد میکرد.
.NET 6 در سرویس برنامه Azure
Azure Functions تنها Azure PaaS نیست که از NET 6 پشتیبانی می کند. سرویس برنامه Azure از .NET 6 استفاده می کند< /a> برای ابزارهای مبتنی بر NET. میتوانید از سرویس برنامه Azure برای عرضه سریع ASP استفاده کنید. برنامه NET Core 6.0 با استفاده از ابزارهای آشنای ویژوال استودیو به پایان می رسد. باز هم، مزیت در اینجا پشتیبانی طولانی مدت از محیط های توسعه و استقرار شما، و همچنین پشتیبانی بین پلتفرمی برای زمان اجرا دات نت است، بنابراین می توانید میزبان ویندوز یا لینوکس را برای کد خود انتخاب کنید.
هم برای استقرار استاندارد با زمانهای اجرا مشترک یا مستقل و هم برای استقرارهای قابل حملتر مبتنی بر کانتینر پشتیبانی وجود دارد. انتخاب یک استقرار مستقل در لینوکس یا ویندوز منطقی است زیرا با زمان اجرا و کتابخانه های خود از سایر برنامه ها جدا هستید. با این حال، باید مطمئن شوید که بهروزرسانیها را برای برنامه خود مدیریت میکنید، زیرا Azure دیگر آن را مدیریت نمیکند.
از آنجایی که Azure App Service صرفاً یک میزبان ASP.NET است، باید خودتان کدهای موجود را انتقال دهید، اگرچه این مسئله نباید زیاد باشد. مایکروسافت مجموعه خوبی از دستورالعملهای مهاجرت را برای ASP.NET Core 3.1 و ASP.NET 5 ارائه میکند. برخی تغییرات اساسی به عنوان بخشی از نسخه جدید، اما اینها به خوبی مستند شده اند، و ایجاد تغییرات مناسب نباید چندان دشوار باشد.
استفاده از NET 6 برای WebAssembly در برنامه های وب استاتیک Azure
سرویس دیگر Azure که یکی از نسخههای NET 6 در زمان راهاندازی، برنامههای وب استاتیک Azure بود. اینجا همه چیز کمی متفاوت است. بهجای اجرای داتنت ۶ در سرورهای Azure، از طریق پشتیبانی WebAssembly NET 6 با استفاده از Blazor روی مرورگرهای کاربران خود اجرا میکنید. شاید بهتر باشد که به عنوان مکملی برای Azure Functions یا Azure App Service در نظر گرفته شود که یک نمای جلویی برای API های میزبان Azure ارائه می دهد.
مانند سایر برنامههای وب استاتیک Azure، شما در حال ساخت محلی هستید و از GitHub برای CI/CD (ادغام مداوم و تحویل مداوم) و Azure برای میزبانی استفاده میکنید. با این حال، به جای صفحات Jamstack، محتوای وب شما میزبان برنامههای NET 6 با پشتیبانی کامل از فناوریهایی مانند مؤلفههای WebUI Uno خواهد بود. ابزارهای Blazor ویژوال استودیو فرآیند دریافت برنامههای .NET موجود و انتقال آنها به وب را ساده میکند و میتوانید از کامپایلسازی زودهنگام برای تحویل بایت کد مستقیماً به مرورگرها و نه کل زمان اجرای NET استفاده کنید. حتی میتوانید از طرح رایگان برای ساخت و آزمایش برنامههای Blazor قبل از رفتن به یک ردیف پولی استفاده کنید.
عرضه سریع .NET 6 در Azure برای توسعه دهندگانی که می خواهند از آخرین ویژگی ها استفاده کنند خوب است. با پشتیبانی طولانیمدت، ما شاهد ایجاد اشخاص ثالث و توسعهدهندگان منبع باز خواهیم بود که کتابخانهها و مؤلفههای جدیدی را ایجاد میکنند و اطمینان حاصل میکنند که ابزارهای مورد نیاز برای ارائه برنامههای مورد انتظار کاربران را دریافت خواهید کرد. از آنجایی که مایکروسافت و تیم داتنت نسخههای بهروزرسانی موقت را منتشر میکنند، باید ببینیم که Azure آنها را به سرعت انتخاب میکند و از مکانیسمهای انتشار زودهنگام برای معرفی کاربران اولیه و سپس عرضه گستردهتر به عنوان بخشی از بهروزرسانیهای معمولی تصویر و کانتینر استفاده میکند.
پست های مرتبط
از NET 6 در Microsoft Azure استفاده کنید
از NET 6 در Microsoft Azure استفاده کنید
از NET 6 در Microsoft Azure استفاده کنید