15-10-12, 11:11 AM
كاتب الموضوع : Ahmed Moosa
بسم الله الرحمن الرحيم
اللهم تجاوز عن سيئات نوايانا وإغفر لنا ما سترت من عيوبنا عن الناس
يا عباد الله
لإن وصلتم بالعلم عنان السماء ووصلتم لمراتب الدنيا العالية و أخذتم من المكانة ما لا يحلم به
فكل هذا هباءاً منثورا إن لم تتقوا الله
والله إنى لست بخيركم ولكن ليت دمعى يكفى على ما أسرفت على نفسى
وإنا لله وإنا إليه راجعون
بسم الله الرحمن الرحيم
اللهم تجاوز عن سيئات نوايانا وإغفر لنا ما سترت من عيوبنا عن الناس
يا عباد الله
لإن وصلتم بالعلم عنان السماء ووصلتم لمراتب الدنيا العالية و أخذتم من المكانة ما لا يحلم به
فكل هذا هباءاً منثورا إن لم تتقوا الله
والله إنى لست بخيركم ولكن ليت دمعى يكفى على ما أسرفت على نفسى
وإنا لله وإنا إليه راجعون
Web configuration File .
عنوان الدرس ملف تعريفات مبدئية .
ما هو هذا الملف ؟
هو ملف يكتب بلغة Xml سهل القرءاة والضبط به إعدادات الموقع .
و تمتلك ASP.Net ملفين للإعدادات
أحدهما خاص بـ Server وهو Machine.Config
والثانى خاص بالموقع الخاص بك وهو Web.Config.
ولكلا منهما إعداداته الإفتراضية ومعنى إفتراضياً هو :-
" أنك إن لم تقم بضبطه فهو معد مسبقاً دون تدخل منك أى دون أن تكتبه فهو يعمل "
وملف Web.Config كلنا نعرف أنه يضاف مع بداية التشغيل أو أن نضيفة من Add New Item فماذا عن ملف Machine .Config .
وهنا السؤال :
إين أجد ملف Machine .config ؟
والجواب إتبع هذا المسار على جهازك :-
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONF IG
ستجد ملف بإسم Machine.config . قم بسحبة وإلقائه داخل بالبرنامج لتجده بمحتوياته أمامك .
وهنا أيضاً سؤال آخر :-
كيف أعرف الإعدادات الإفتراضية من غيرها سواء فى أى ملف منهم ؟
والجواب إتبع نفس المسار ستجد ملفين وهما :
web.config.default وبه الإعدادت الإفتراضية لملف web.Config .
machine.config.default وبه الإعدادات الإفتراضية لملف Machine.config .
قد رأينا فى الملفات السابقة أوامر وخصائص يتم ضبطها بقيم معينة فكيف لنا أن نعرف قيم هذة الخصائص ؟
أو بمعنى آخر :- كيف لنا أن نحدد ما هى القيمة المناسبة ونوعها لكل خاصية فهل هى String او Integer أو Bool أو غير ذلك ؟
الجواب :- يوجد ملف أيضاً به إعدادات هذة الخواص على شكل تعليق تظهر الخاصية والقيم المتاحة لها سواء ملف Web.Config أو ملف Machine.config .
وإين هذا الملف ؟
الجواب :- تجده فى نفس المسار السابق وتجد ملفين بإسم :
web.config.comments وكذلك machine.config.comments .
وكيف نرى محتويات هذة الملفات ؟
نفس الطريقة قم بسحب الملف وإلقائه داخل البرنامج سواء Visual Studio أو Visual Web Developer
هل هناك ضوابط لكتابة هذة الخصائص ؟
الجواب :- نعم يجب أن نراعى حالة الأحرف وتسمى Case-Sensitive وتكتب أيضاً مبتدئه أول كلمة بحرف صغير ثم ثانى كلمة تبدأ بحرف كبير وتسمى إنجليزياً camelCase .
هل يمكن تكرار كتابة الخاصية أكثر من مرة ؟
الجواب : لا فقط نعرفها مرة واحدة . وهى بدورها يراها كل ملفات الموقع .
هذة الخصائص فهل يمكن أن يكون هناك أكثر من ملف Web.config ؟
الجواب :- نعم وكذلك يمكن ان يحتوى المجلد الداخلى ملف Web.Config خاص بصفحاته ونرى ذلك فى عمل Authentication والمجلدات التى نحجبها عن المستخدمين وبالطبع يراها المديرين أو غير ذلك . وعلى ذلك فيمكن وجود اكثر من ملف كما تشاء .
مع تعدد هذة الملفات ووجود اكثر من ملف Web.Configهنا سؤال :-
أى أعدادات ستطبق ؟ بمعنى آخر : أى ملف Web.Configسيكون له الأولوية فى التنفيذ ؟
الجواب :- حسب الترتيب فى التسلسل .
ماذا يعنى التسلسل وأى تسلسل ؟
الجواب : إنظر لهذا الترتيب ودقق فى الأرقام حسب الترتيب
1- Machine.Config
2- Web.Config العام للموقع .
3- Web.Config الخاص بمجلد فرعى .
4- Web.Config الخاص بمجلد متفرع من المجلد الذى يسبقه
5- وهكذا..................................
ويتم عمل Override للخصائص فى ملف الأب من خلال الملف الأبن منه . إن تم ضبطها . وإن لم يتم ضبط الخصائص سيرث الأبن خصائص الأب . وهنا سؤال :
هل يمكن أن أمنع أن يرث ملف Web.Config الأبن خصائصه من ملف Web.Config الأب ؟
الجواب : نعم بواسطة الأمر allowOverride ونعطيها القيمة Flase . وسنرى إن شاء الله .
ما معنى كلمة Override ؟
نعنى بها هنا وفى البرمجة عامة :- تغطية إعداد سابق بإعداد جديد مختلف . كإعادة تعريف قيمة للخاصية من جديد فى ملف الأبن غير التى فى ملف الأب وهنا سياخذ بالتى فى ملف الأبن لأنه قام بعمل Override أى تغطيه عليها .
رأينا فى نافذة Solution Explorer وكذلك فى قائمة Web Site اداة تسمى ASP.Net Configuration
فهل لها علاقة بهذا الملف ؟
الجواب : نعم هى الواجهة المرئية لهذا الملف أى يمكن أن نضبط إعدادات هذا الملف من خلالها ولكن ليس كل الإعدادات .المتاح فقط . وسنراها إن كان فى العمر بقية إن شاء الله .
بذلك لاحظنا وجود هذة الإعدادات فى الملف ومن خلال هذة الأداة . وهنا سؤال :
هل يمكن أن نضبط هذة الخصائص من اماكن اخرى ؟
الجواب : نعم هناك طريقتين وهما :*
• عن طريق صفحة التصميم Page.aspx وكذلك صفحة الكود Page.aspx.cs .
لكن ليس كل الخصائص فى صفحة التصميم لكن من خلال كود C# أو VBممكن .
وأيضاً سؤال متى يتم ضبط هذة الخصائص ؟
والجواب : قبل نشر الموقع أو بعد من خلال تحرير الملف وكتابة ماتريد بداخله .
فهل يتم تحريره إثنا ء التشغيل أى بواسطة المستخدم مثلاً أو بعملية معينة من خلال الكود ؟
الجواب : نعم إن شاء الله .
رأينا مدى أهمية محتويات هذا الملف فهل يكون كشف هذة المحتويات للمستخدم فيه شئ من الخطر ؟
الجواب :- نعم ولضمان السرية يمكن أن تقوم بعمل encrypt لأى جزء فى الملف .
ما معنى encrypt ؟
الجواب:- فى الترجمات المعهوده تسمى (تشفير) . ولكن خذ هذا التعريف :
" إستبدال المحتويات المفهومة بغيرها يصعب فهما ومثال ذلك كحروف مع أرقام لا تدل على شئ"
وللحديث بقية إن شاء الله .