ارائه دهنده خدمات ابری PaaS و DBaaS

netcore

برنامه‌های ASP.Net Core

(ASP.Net Core Apps)

🎯 توضیحات و نکات تکمیلی

انتخاب نسخه‌ی ASP.Net Core

به‌صورت پیش‌فرض، برنامه‌ی شما روی نسخه‌ی ۳.۱ این پلتفرم اجرا می‌شود. می‌توانید داخل فایل liara.jsonنسخه‌ی مدنظرتان را به شکل زیر تعیین کنید. سپس بعد از یک بار دیپلوی، برنامه‌ی شما روی نسخه‌ی تعیین شده اجرا خواهد شد.

{
  "netcore": {
    "version": "3.1"
  }
}

در حال حاضر، از نسخه‌های زیر پشتیبانی می‌کنیم:

  • 5.0
  • 3.1 (LTS)
  • 3.0
  • 2.2
  • 2.1 (LTS)
توجه داشته باشید که نسخه‌های 2.2 و 3.0 در وضعیت End of Life قرار دارند و بهتر است که از آن‌ها استفاده نکنید.

تنظیمات مرتبط با ساختار برنامه

لیارا به صورت خودکار سعی می‌کند که تنظیمات مناسب برنامه‌ی شما را تشخیص دهد و برنامه‌ی شما را در بهترین حالت مستقر کند. اما با توجه به تنوع ساختار برنامه‌های ASP.Net Core، ممکن است که برخی از این تشخیصات خودکار با مشکل مواجه شوند و لیارا نتواند برنامه‌ی شما را به درستی مستقر کند.

در چنین حالاتی ممکن است با خطاهایی مانند خطای زیر روبه‌رو شوید:

It was not possible to find any installed .NET Core SDKs
Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from:
https://aka.ms/dotnet-download

این امکان برای شما فراهم شده که به جای اتکا به قابلیت تشخیص خودکار لیارا، پارامترهای مورد نیاز برای استقرار برنامه‌ی‌تان را خودتان تعریف کنید. این کار به کمک تعریف فایلliara.jsonدر ریشه‌ی برنامه‌تان امکان‌پذیر است.

{
  "platform": "netcore",
  "netcore": {
    "finalDllName": "MyProjectName",
    "csprojectFile": "path/to/folder/my.csproj"
  }
}

  • finalDllName: نام فایل .dllنهایی برنامه که بعد از بیلدکردن ساخته می‌شود. (بدون پسوند)
  • csprojectFile: مسیر فایل .csprojاصلی برنامه. (به صورت نسبی وارد شود)

رفع خطای 502 Bad Gateway

در صورتی که فرایند استقرار برنامه‌ی‌تان موفقیت‌آمیز بوده اما خطای 502 را در خروجی مشاهده می‌کنید، به‌احتمال زیاد مشکل از URL ای است که داخل سورس‌کدتان تنظیم و شخصی‌سازی کرده‌اید.

به‌صورت پیش‌فرض، برنامه‌های ASP.Net Core روی آدرسhttp://0.0.0.0:80اجرا می‌شوند. اگر شما این آدرس را برای مثال بهhttp://localhost:5000تغییر داده باشید، خطای 502 را مشاهده خواهید کرد.

در این صفحه‌ی StackOverflow، می‌توانید راه‌حل‌های متنوعی که برای حل این مسئله گفته شده را مشاهده کنید. به‌طور خلاصه، باید در فایلProgram.cs، از متد.UseUrlsاستفاده کنید:

.UseUrls("http://0.0.0.0:5000");

همان‌طور که مشاهده می‌کنید، localhost را باید به 0.0.0.0 تغییر دهید. حالا برای استقرار این برنامه، باید از دستورliara deploy --port 5000استفاده کنید تا لیارا بداند که برنامه‌ی شما قرار است روی پورت 5000 اجرا شود.