|[ ASP.NET ]| (Program.cs) الشرح الممل |[ LinkFlow ]|آخر
الصفحة
د عبد الرحمن
- عضوية مقفولة -
د عبد الرحمن
- عضوية مقفولة -
  • 19:20 - 2024/06/29

السلام عليكم ورحمة الله وبركاته،،

بسم الله الرحمن الرحيم،،

اللهم صل على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد،

اللهم بارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد،،

وبعد، مبادرة متواضع في سبيل الله،، وسعيا لتبادل الخبرات،،

أضع بين أيديكم بعض الدروس البسيطة حول البرمجة باستخدام لغة ASP.NET و C# ،،

سأحاول من خلال بعض الدروس أن نستفيد منها عن طريق تطبيق، أين سنركز على نسخ برنامج stackoverflow ،، وجعله

مفتوح المصدر، إن شاء الله،،

|[ ASP.NET ]| التعلم بالتطبيق(درس 01) |[ LinkFlow ]|

انتهينا في الدرس السابق بهذه النتيجة:

في هذا الدرس سنتطرق لملف Program.cs ونشرح محتواه سطر بسطر، قبل أن نبدأ في البرمجة:

var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllersWithViews(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();

هذا السطر ينشئ كائن builder باستخدام دالة Createbuilder من WebApplication،

والتي تأخذ المعاملات التي تم تمريرها إلى التطبيق (args). يستخدم لاحقًا لإعداد التطبيق وتكوينه.

var builder = WebApplication.CreateBuilder(args);

هنا، يتم إضافة خدمات MVC (Model-View-Controller) مع دعم العرض إلى حاوية الخدمات.

هذا السطر يتيح للتطبيق استخدام المتحكمات والعروض.

builder.Services.AddControllersWithViews();

يتم بناء التطبيق الفعلي باستخدام دالة Build من builder الذي انشئ سابقا في السطر الأول، ويتم تخزينه

في متغير app والذي نعتبره تطبيق الويب الذي سيتم تشغيله.

var app = builder.Build();

هذا الجزء يقوم بتكوين مسار معالجة الطلبات HTTP. إذا كان التطبيق ليس في بيئة التطوير (Developement)،

فإنه يستخدم معالج الأخطاء (ExceptionHandler) لعرض صفحة الخطأ في /Home/Error.

سنتطرق لاحقا لبيئة Dev وبيئة prod في ملف appsettings عندما نصل لدراسته ان شاء الله،،

if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); }

هذا سطر غير معقد، عن طريق دالة UseStaticFiles ، يتم استخدام جميع الملفات الثابتة

المتواجدة في مجلد wwwroot والذي شرحنا استعماله في الدرس السابق،،

app.UseStaticFiles();

عن طريق استعمال دالة UseRouting يمكننا الآن تحويل الروابط كمثال: /Home/Index … الخ

أما دالة UseAutorization فتساعد على اضفافة خواص التحقق من الهوية وصلاحيات التطبيق، سيكون لنا حديث أكبر فيها

عندما نصل الى خصائص من نوع: العضويات كمدير، ومشرف …. الخ

app.UseRouting(); app.UseAuthorization();

بعد تفعيل UseRouting ، في هذا السطر نقوم بالاعتماد على دالة MapControllerRoute

التي عن طريقها سنقوم بتعريف مسار جديد، اسمه ومحتوياته،،

كمثال في هذه الحالة default تعني المسار الافتراضي، كأي موقع عندما يستعمل index أو …. وبدل الاعتماد

على المسار الافتراضي الموجود في السيرفر قم بتحويلها الى نوع /Home/Index/{id?}

علما أن id في هذه الحالة ستمثل رقم صفحة أو … ويمكن أن لا يكون موجود في حضور علامة ?

أما controller فقد ربطنا الرابط Home بـملف الcontroller Home والذي سنتطرق له لاحقا،،

وأما action فقط جعلنا الامتداد Index يقرأ من دالة Index الموجودة داخل Controller Home

app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");

أخيرا الاعتماد على دالة Run هي ببساطة تقوم بتشغيل الكود كاملا بعد أن يتم عمل Compile له،،

app.Run();

هذا والحمد لله رب العالمين على التوفيق،،

السلام عليكم،،

1📊0👍0👏0👌1🧠
Th3 Captain

  • المشاركات: 8526
    نقاط التميز: 7168
مشرف سابق
Th3 Captain

مشرف سابق
المشاركات: 8526
نقاط التميز: 7168
معدل المشاركات يوميا: 1.4
الأيام منذ الإنضمام: 6068
  • 19:38 - 2024/06/29
السلام عليكم ورحمة الله، لي عودة بعد الإطلاع على المحتوى 😃
1📊1👍0👏0👌0🧠
طالب عفو الرحمن
- عضوية مقفولة -
طالب عفو الرحمن
- عضوية مقفولة -
  • 23:19 - 2024/06/29

السلام عليكم ورحمة الله

بارك الله فيك أخي الفاضل على الشرح الممتاز

لك من الإشراف

وسام شارح مميز بمنتدى عالم البرمجة وملحقاتها20

1📊1👍0👏0👌0🧠
saifxcode
  • المشاركات: 1589
    نقاط التميز: 2837
مشرف سابق
saifxcode
مشرف سابق
المشاركات: 1589
نقاط التميز: 2837
معدل المشاركات يوميا: 1.4
الأيام منذ الإنضمام: 1140
  • 23:44 - 2024/06/29
السلام عليكم
موضوع راائع أخي
واصل مواضيعك الشيقة عن ASP.NET و المميزة
موفق
1📊1👍0👏0👌0🧠
Electronics Programming
  • المشاركات: 636
    نقاط التميز: 2019
عضو نشط
Electronics Programming
عضو نشط
المشاركات: 636
نقاط التميز: 2019
معدل المشاركات يوميا: 0.4
الأيام منذ الإنضمام: 1603
  • 00:40 - 2024/06/30
السلام عليكم
شرح واضح و معمق
+
ممكن فهرس الدورة لو سمحت ؟
0📊0👍0👏0👌0🧠
د عبد الرحمن
- عضوية مقفولة -
د عبد الرحمن
- عضوية مقفولة -
  • 00:43 - 2024/06/30
لا أستطيع تشكيل فهرش لانني بحد ذاتي اتعلم من موقع رسمي لمكروسوفت ومواقع اخرى رغم تشابه الكبير مع Laravel وسهولة الc# بنسبة لي، الا اني لست في مستوى وضع فهرس بعد، الشيء الوحيد انني ساحاول نسخ موقع stackoverflow

إقتباس لمشاركة: @Electronics Programming 22:40 - 2024/6/29

السلام عليكم
شرح واضح و معمق
+
ممكن فهرس الدورة لو سمحت ؟

0📊0👍0👏0👌0🧠
MustApha-91

  • المشاركات: 19701
    نقاط التميز: 8671
مشرف سابق
MustApha-91

مشرف سابق
المشاركات: 19701
نقاط التميز: 8671
معدل المشاركات يوميا: 3.8
الأيام منذ الإنضمام: 5242
  • 16:41 - 2024/06/30
السلام عليكم
بارك الله فيك اخي الكريم
مواضيعك صراحة ابداع وشروحات حصرية
راح نستفاد من خبرتك ان شاء الله ^^
1📊1👍0👏0👌0🧠
محمد

  • المشاركات:
    47000
مراقب الكمبيوتر
مراقب التجارة والإقتصاد الحديث
عضو في لجنة تطوير برنامج المنتديات
محمد
مراقب الكمبيوتر
مراقب التجارة والإقتصاد الحديث
عضو في لجنة تطوير برنامج المنتديات
المشاركات: 47000
معدل المشاركات يوميا: 7.2
الأيام منذ الإنضمام: 6511
  • 17:12 - 2024/06/30

@د عبدالله

بارك الله فيك اخي عبد الله ، على الشرح السلس ،، ،

لي 10 سنوات لم اشتغل على دوت نيت .. خاصة c# asp.net …

تحياتي .

1📊1👍0👏0👌0🧠
د عبد الرحمن
- عضوية مقفولة -
د عبد الرحمن
- عضوية مقفولة -
  • 17:18 - 2024/06/30
C# لا تمثل مشكل بنسبة لي فقد سبق وتعاملت وبرمجة بيها عندما اشتغلت على برامج سطح المكتب، لكن في حال asp.net الامر يختلف بعض الشيء بسبب predefined object ،، لا ادري اين ساصل بهذه الدروس لكن سنحاول المتابعة قدر الاماكن

إقتباس لمشاركة: @محمد 15:12 - 2024/6/30

@د عبدالله

بارك الله فيك اخي عبد الله ، على الشرح السلس ،، ،

لي 10 سنوات لم اشتغل على دوت نيت .. خاصة c# asp.net …

تحياتي .

0📊0👍0👏0👌0🧠
محمد

  • المشاركات:
    47000
مراقب الكمبيوتر
مراقب التجارة والإقتصاد الحديث
عضو في لجنة تطوير برنامج المنتديات
محمد
مراقب الكمبيوتر
مراقب التجارة والإقتصاد الحديث
عضو في لجنة تطوير برنامج المنتديات
المشاركات: 47000
معدل المشاركات يوميا: 7.2
الأيام منذ الإنضمام: 6511
  • 17:19 - 2024/06/30
@د عبدالله

خيرا ان شاء الله عزيزي عبد الله ــ جعل الله بميزان حسناتك .

3📊0👍0👏1👌0🧠

الرد على المواضيع متوفر للأعضاء فقط.

الرجاء الدخول بعضويتك أو التسجيل بعضوية جديدة.

  • إسم العضوية: 
  • الكلمة السرية: 

 |[ ASP.NET ]| (Program.cs) الشرح الممل |[ LinkFlow ]|بداية
الصفحة