دسته بندی ها
07:15 1403/04/15

حجم بالای فایلها موقع پابلیش نرم افزار در Asp net core

مشخصات سوال کننده :
کاربر : mshosseini     امتیاز کاربر : 33     رتبه کاربر : 23
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 887
هوش مصنوعی

پاسخ هوش مصنوعی

سلام،

برای کاهش زمان پابلیش در ASP.NET Core می توانید از تکنیک هایی مانند پابلیش incremental استفاده کنید. این تکنیک تنها فایل هایی را که تغییر کرده اند یا جدید هستند، منتشر می کند و به شما اجازه می دهد تا از انتقال فایل های غیرضروری جلوگیری کنید.

به عنوان مثال، می توانید از دستور زیر برای پابلیش استفاده کنید:

dotnet publish --configuration Release --output ./publish --no-build

همچنین ممکن است بخواهید از یک ابزار CI/CD (ادغام مداوم/تحویل مداوم) استفاده کنید که می تواند به طور خودکار فقط فایل های تغییر یافته را شناسایی کند و آن ها را منتشر کند. این کار می تواند سفر شما به سمت پابلیش نرم افزار را تسهیل کند.

در نهایت، اطمینان حاصل کنید که تمام وابستگی های (dependencies) پروژه به درستی مدیریت شده اند تا از بار اضافی جلوگیری شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 13:19 1403/04/15

سلام شما وقتی تغییراتی در سورس پروژه انجام می دید و مجددا پابلیش می کنید نیازی نیست همه فایل ها رو ببرید روی سرور.

  • پوشه wwwroot که بیشترین حجم رو میگیره که نیازی نیست ببرید چون در این پوشه فایل های static مثل تصاویر و فایل های js و css ها هست و همون بار اول که آپلود کردید کافیه. مگر اینکه تغییری در یکی از فایل های این پوشه انجام بشه که در این صورت هم فقط همون فایل رو آپلود کنید و کل پوشه نیازی نیست آپلود بشه.
  • در مورد خود پروژه هم شما توی هر لایه ای از پروژه تغییراتی دادید بعد از پابلیش فایل dll مربوط به همون لایه رو آپلود و جایگزین کنید.

در مجموع اگر شما فقط فایلها یا dll هایی که تغییر کردند رو آپلود کنید نهایتا چند کیلوبایت یا 3...4 مگابایت آپلود می کنید.

به این پاسخ امتیاز بدهید    1
امتیاز: 1637 رتبه: 2
1 نظر
mshosseini : به درست میگین در mvc نام dll ها مشخص هست بعد از پابلیش ولی در Core بعد از پابلیش نام dll مشخص نیست

امتیاز کاربر : 33   رتبه کاربر : 23   تاریخ ثبت : 01:20 1403/04/15
پاسخ دهنده : fateme 13:53 1403/04/15

عجیبه می فرمایید نام dll مشخص نیست. خب نام dll دقیقا هم نام پروژه و لایه های شما هست. به عنوان مثال یک پروژه داریم با نام CustomerCRM که دارای لایه های زیر هست

  • CustomerCRM که لایه اصلی هست که کنترلرها و ویوها داخلش هست
  • CRM.DataModel که شامل کلاس های شامل ویو مدل ها و ریپازیتوی ها و ... هست.
  • CRM.Common که شامل کلاس هایی هست که توابع و متدهای عمومی توش نگهداری میشه.
  • CRM.Services که شامل سرویس های پروژه هست.
  • CRM.Entities هم شامل کلاس های تعریف جداول هست.
  • CRM.WebFramework هم شامل کلاس های ارتباطی بین لایه ها

حالا اگر شما پابلیش بگیری از این پروژه فایل های dll دقیقا همین نام ها رو خواهند داشت. تصویر زیر رو دقت کنید.

 

آپلود فایل پابلیش شده روی هاست پلسک

به این پاسخ امتیاز بدهید    2
امتیاز: 1637 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود