UserApp.zip
حجم:
28.4M
پروژه ایجاد شده individual accounts
سوال: آیا می توانید نقش اضافه کنید و کنترل مدیریت انجام دهید؟
UserProfile.zip
حجم:
28.5M
دوستان من به مشکل خوردم در مورد دو کد متفاوت در program.cs کد پیش فرض
builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();
و کد جدید که نقش را نشان دهد
builder.Services.AddIdentity<IdentityUser, IdentityRole>(options =>
{
options.SignIn.RequireConfirmedAccount = true;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
ولی رجیستر و لاگین از کار می افتد
اگر راهی پیدا کردید من درست کنم در ایتا به من پیام دهید
UserManagementProject.zip
حجم:
28.5M
مجبور شدم یک پروژه خالی mvc ایجاد کنم و نقش بدهم و دیتابیس individual accounts هست
ایمیل و رمز عبور ادمین در program.cs
// افزودن کاربر پیشفرض Admin
var adminEmail = "admin@gmail.com";
var adminPassword = "Admin@123";
ShopApp.zip
حجم:
26.2M
یک فروشگاه شخصی کوچک درست کردم
ShopHome.zip
حجم:
26.1M
پروژه ای که ساختم هدف من یک قالب تک صفحه ای فروشگاه است که موفق نشدم بهترش کنم و ظاهر نسبتا خوب است که شامل:
✅ صفحه اصلی: نمایش اسلایدشو، پیشنهادات ویژه، گروههای محصولات
✅ مدیریت محصولات: افزودن محصول همراه با تصویر، قیمت و دستهبندی
✅ آپلود تصویر: ذخیره تصاویر در wwwroot/images و نمایش مسیر آن
✅ ویرایش محصولات: امکان تغییر نام، قیمت، گروه و نمایش در اسلایدشو
✅ واکنشگرایی: بهینهسازی صفحات برای نمایش در موبایل و دسکتاپ که خوب در نیامده است
✅ پایگاه داده: ذخیره اطلاعات محصولات و دستهبندیها در SQL Server
ShopHome (2).zip
حجم:
26.1M
ادامه پروژه: قابلیت جستجو اضافه شد
ShopHome (3).zip
حجم:
26.2M
ادامه پروژه: نمودار اضافه شد
ASP_NET Core MVC_ معماری و عملکرد.wav
حجم:
20.8M
ASP.NET Core MVC: معماری و عملکرد
ساخته شده از هوش مصنوعی
پروژه ASP.Net Core MVC (وب و سی شارپ)
ASP.NET Core MVC: معماری و عملکرد ساخته شده از هوش مصنوعی
ASP.NET Core MVC
چیست و چگونه کار میکند؟
ASP.NET Core MVC
یک فریمورک قدرتمند برای توسعهی برنامههای وب بر پایهی معماری مدل-نما-کنترلر (MVC) است. این معماری با هدف تفکیک وظایف مختلف اپلیکیشن طراحی شده تا پروژهها مقیاسپذیر، قابل نگهداری و سازمانیافته باشند.
---
### 📌 اجزای اصلی ASP.NET Core MVC
ASP.NET Core MVC
بر سه بخش اصلی Model، View و Controller استوار است که هر کدام وظیفهای خاص دارند:
✅ مدل (Model)
🔹 مدل شامل دادهها و منطق کسبوکار است.
🔹 مسئول ذخیره و مدیریت دادهها، مانند محصولات یک فروشگاه آنلاین، کاربران سیستم، یا اطلاعات سفارشها میباشد.
🔹 معمولاً با یک پایگاه داده ارتباط دارد و اطلاعات را ذخیره، بازیابی و پردازش میکند.
✅ نما (View)
🔹 ویو مسئول نمایش دادهها به کاربر است.
🔹 شامل قالبهای HTML، CSS و جاوااسکریپت است که برای طراحی صفحات وب استفاده میشوند.
🔹 دادهها را از کنترلر دریافت کرده و آنها را در قالب رابط کاربری (UI) نمایش میدهد.
✅ کنترلر (Controller)
🔹 کنترلر مسئول مدیریت درخواستهای کاربران و اتصال بین مدل و ویو است.
🔹 وقتی کاربر صفحهای را باز میکند یا یک عملیات را انجام میدهد، کنترلر پردازش را انجام داده و پاسخ مناسب را ارسال میکند.
🔹 کنترلر تصمیم میگیرد که چه دادههایی باید به ویو ارسال شوند.
---
### 📌 فرآیند اجرای درخواست در ASP.NET Core MVC
وقتی کاربر به یک صفحه وب مراجعه میکند، چندین مرحله در پشتصحنه رخ میدهد:
✅ ۱. ارسال درخواست (Request):
🔹 کاربر آدرس وبسایت را در مرورگر وارد میکند، مثلاً: www.example.com/products/5.
🔹 مرورگر درخواست را به سرور ارسال میکند تا اطلاعات مربوط به محصول شماره ۵ را دریافت کند.
✅ ۲. مسیریابی (Routing) درخواست:
🔹 ASP.NET Core MVC
بررسی میکند که کدام کنترلر و اکشن باید اجرا شود.
🔹 بر اساس مسیر درخواست، سیستم تعیین میکند که درخواست باید به کنترلر محصولات منتقل شود.
✅ ۳. پردازش دادهها در مدل:
🔹 کنترلر اطلاعات محصول را از مدل دریافت میکند.
🔹 مدل معمولاً این دادهها را از پایگاه داده واکشی میکند.
✅ ۴. ارسال دادهها به نما (View):
🔹 کنترلر اطلاعات پردازششده را به ویو ارسال میکند.
🔹 ویو از این دادهها برای نمایش محصول در صفحه وب استفاده میکند.
✅ ۵. نمایش خروجی به کاربر:
🔹 مرورگر نتیجه را دریافت کرده و آن را در قالب HTML، CSS و جاوااسکریپت نمایش میدهد.
🔹 کاربر حالا محصول موردنظر را مشاهده میکند.
---
### 📌 مزایای استفاده از ASP.NET Core MVC
این فریمورک چندین مزیت مهم دارد که باعث میشود یکی از محبوبترین گزینهها برای توسعهی برنامههای تحت وب باشد:
✅ ۱. معماری تفکیکشده (Separation of Concerns):
🔹 مدل، ویو و کنترلر هر کدام وظیفهی مشخصی دارند که باعث خوانایی و مدیریت بهتر کدها میشود.
✅ ۲. امکان توسعهی سریعتر و تستپذیری بالا:
🔹 چون بخشهای مختلف از هم جدا هستند، میتوان هر بخش را بهصورت مستقل تست و توسعه داد.
✅ ۳. انعطافپذیری بالا در مسیریابی:
🔹 میتوان مسیرهای درخواستها را دقیقاً مطابق نیازهای پروژه تنظیم کرد.
✅ ۴. مدیریت قدرتمند دادهها و پایگاه داده:
🔹 قابلیت یکپارچهسازی با پایگاههای داده مختلف مانند SQL Server، MySQL، PostgreSQL و ...
✅ ۵. عملکرد بالا و پشتیبانی از کش (Caching):
🔹 با استفاده از ASP.NET Core میتوان عملکرد برنامه را بهینهسازی کرد و از کش برای افزایش سرعت بارگذاری استفاده کرد.
---
### 📌 جمعبندی
✔️ ASP.NET Core MVC
بر اساس معماری مدل-نما-کنترلر (MVC) کار میکند تا پروژههای تحت وب را سازمانیافته، مقیاسپذیر و قابل نگهداری کند.
✔️ مدل مسئول مدیریت دادهها، ویو مسئول نمایش اطلاعات، و کنترلر مسئول پردازش درخواستهای کاربران است.
✔️ درخواست کاربر پردازش میشود، دادهها از مدل دریافت شده، و خروجی در ویو نمایش داده میشود.
✔️ این معماری باعث خوانایی، تستپذیری بالا، انعطافپذیری در مسیریابی، و بهینهسازی عملکرد میشود.
📝 نکته مهم :
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options) { }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer("Server=.\\SQLEXPRESS;Database=TaskFlowDB;Trusted_Connection=True;TrustServerCertificate=True");
}
}
✅ اگر
ApplicationDbContextرا مانند کدی که در بالا تنظیم کرده باشی (با
OnConfiguring())، دیگر نیازی به appsettings.json و Program.cs برای تعیین رشته اتصال نداری**، زیرا اتصال به دیتابیس مستقیماً در
DbContextتنظیم شده است. 🚨 اما اگر پروژهی شما یک برنامه ASP.NET Core باشد، همچنان به Program.cs نیاز داری تا
ApplicationDbContextرا به **Dependency Injection (DI) اضافه کند. در غیر این صورت، برنامه نمیتواند
DbContextرا مدیریت کند و هنگام اجرا خطا دریافت خواهی کرد. 📌 اگر یک برنامه کنسولی ساده باشد (مثلاً
ConsoleApp)، میتوان بدون Program.cs کار کرد، اما در پروژههای وب و API (مثل ASP.NET Core)، باید Program.cs را داشته باشی تا
DbContextرا در services.AddDbContext<ApplicationDbContext>() ثبت کنی. 🔹 پس اگر فقط در
ApplicationDbContextاتصال را مشخص کرده باشی، نیازی به appsettings.json برای تعیین رشته اتصال نداری**، اما Program.cs برای مدیریت وابستگیها هنوز ضروری است**. اگر قصد داری پروژهای کاملاً بدون appsettings.json و Program.cs اجرا کنی، لطفاً نوع برنامهات را مشخص کن 😊