Text/WATERSWEA
1. فهم ملف Web.config
ملف Web.config هو ملف نصي XML، يُستخدم لتخزين معلومات التكوين الخاصة بتطبيق ويب ASP.NET (مثل أسلوب المصادقة الأكثر استخدامًا لإعداد ASP .NET Web application)، والتي يمكن أن تظهر في كل دليل للتطبيق. عند إنشاء تطبيق ويب جديد من خلال VB.NET، يكون الإعداد الافتراضي
يحتوي ملف Web.config على إعدادات التكوين الافتراضية، وترث كافة الدلائل الفرعية إعدادات التكوين الخاصة به. إذا كنت تريد تعديل إعدادات التكوين لدليل فرعي، يمكنك إنشاء ملف Web.config جديد في الدليل الفرعي. يمكنه توفير معلومات التكوين بالإضافة إلى معلومات التكوين الموروثة من الدليل الأصل، ويمكنه أيضًا تجاوز أو تعديل الإعدادات المحددة في الدليل الأصل.
يمكن أن تصبح التعديلات التي يتم إجراؤها على ملف Web.config في وقت التشغيل نافذة المفعول دون إعادة تشغيل الخدمة (ملاحظة: استثناء لقسم <processModel>). بالطبع ملف Web.config قابل للتوسيع. يمكنك تخصيص معلمات التكوين الجديدة وكتابة معالجات قسم التكوين للتعامل معها.
2. ملف التكوين web.config (إعدادات التكوين الافتراضية) يجب أن تكون كافة الرموز التالية موجودة في
<configuration>
<system.web>
و
</system.web>
</configuration>
، تم حذف علامة XML هذه في الأمثلة التالية لأغراض التعلم.
1. وظيفة القسم <authentication>
: تكوين دعم مصادقة ASP.NET (لأنظمة Windows، وForms، وPassPort، ولا شيء). لا يمكن الإعلان عن هذا العنصر إلا على مستوى الكمبيوتر أو الموقع أو التطبيق. يجب استخدام عنصر <authentication> مع قسم <authorization>.
مثال:
المثال التالي هو موقع تكوين المصادقة المستند إلى النموذج، عندما يصل مستخدم لم يقوم بتسجيل الدخول إلى صفحة ويب تتطلب المصادقة، تنتقل صفحة الويب تلقائيًا إلى صفحة ويب تسجيل الدخول.
<وضع المصادقة = "النماذج">
<formsloginUrl="logon.aspx" name=".FormsAuthCookie"/>
</authentication>
يمثل عنصر تسجيل الدخولUrl اسم صفحة الويب الخاصة بتسجيل الدخول، ويمثل الاسم اسم ملف تعريف الارتباط
2.
دور قسم <التفويض> : التحكم في وصول العميل إلى موارد URL (مثل السماح بوصول المستخدم المجهول). يمكن الإعلان عن هذا العنصر على أي مستوى (الكمبيوتر أو الموقع أو التطبيق أو الدليل الفرعي أو الصفحة). مطلوبة بالتزامن مع قسم <المصادقة>.
مثال: المثال التالي يعطل الوصول إلى المستخدمين المجهولين
<authorization>
<رفض المستخدمين = "؟"/>
</authorization>
ملاحظة: يمكنك استخدام user.identity.name للحصول على اسم المستخدم الحالي المعتمد الذي يمكنك استخدامه
يقوم أسلوب web.Security.FormsAuthentication.RedirectFromLoginPage بإعادة توجيه المستخدم الذي تمت مصادقته إلى الصفحة التي طلبها المستخدم للتو للحصول على أمثلة محددة، يرجى الرجوع إلى:
التحقق من النماذج http://www.fanvb.net/websample/dataauth.aspx
3. <compilation. > دور القسم
: تكوين كافة إعدادات الترجمة المستخدمة بواسطة ASP.NET. سمة التصحيح الافتراضية هي "True". ويجب ضبطها على True بعد تجميع البرنامج وتسليمه للاستخدام (التفاصيل موضحة في ملف Web.config، وتم حذف الأمثلة هنا)
4.
دور <customErrors>: لـ ASP. تطبيقات NET توفر معلومات حول رسائل الخطأ المخصصة. ولا ينطبق على الأخطاء التي تحدث في خدمات ويب XML.
مثال: عند حدوث خطأ، انتقل إلى صفحة خطأ مخصصة.
<customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly">
</customErrors>
يمثل العنصر defaultRedirect اسم صفحة الويب الخاصة بالخطأ المخصص. يشير عنصر الوضع إلى: عرض معلومات مخصصة (سهلة) للمستخدمين الذين لا يعملون على خادم الويب المحلي.
5.
دور قسم <httpRuntime>: تكوين إعدادات وقت تشغيل ASP.NET HTTP. يمكن الإعلان عن هذا القسم على مستويات الكمبيوتر والموقع والتطبيق والدليل الفرعي.
مثال: التحكم في الحد الأقصى لحجم الملفات التي يتم تحميلها من قبل المستخدمين إلى 4M، والحد الأقصى للوقت إلى 60 ثانية، والحد الأقصى لعدد الطلبات إلى 100
<httpRuntime maxRequestLength="4096" exectionTimeout="60" appRequestQueueLimit="100"/>
6.
دور<pages>
: لتحديد إعدادات التكوين المحددة للصفحة (مثل تمكين حالة الجلسة، وحالة العرض، وما إذا كان سيتم اكتشاف إدخال المستخدم، وما إلى ذلك). يمكن الإعلان عن <pages> على مستويات الكمبيوتر والموقع والتطبيق والدليل الفرعي.
مثال: لا تكتشف ما إذا كانت هناك بيانات خطيرة محتملة في المحتوى الذي أدخله المستخدم في المتصفح (ملاحظة: يتم اكتشاف هذا العنصر افتراضيًا. إذا كنت تستخدم خاصية عدم الكشف، فيجب عليك تشفير إدخال المستخدم أو التحقق منه). العميل يتم التحقق من حالة العرض المشفرة عند إعادة نشر الصفحة للتحقق من عدم التلاعب بحالة العرض من جانب العميل. (ملاحظة: لم يتم التحقق من هذا العنصر افتراضيًا)
<pages buffer="true" EnableViewStateMac="true" validateRequest="false"/>
7. وظيفة <sessionState>
: تكوين إعدادات حالة الجلسة للتطبيق الحالي (مثل تعيين ما إذا كان لتمكين حالة الجلسة، حيث يتم حفظ حالة الجلسة).
مثال:
<sessionState mode = "InProc" cookieless = "true" timeout = "20"/>
</sessionState>
ملاحظة:
الوضع = "InProc" يعني: تخزين حالة الجلسة محليًا (يمكنك أيضًا اختيار تخزينها في خادم بعيد أو خادم SAL أو تعطيل حالة الجلسة)
يعني Cookieless = "true": إذا لم يكن متصفح المستخدم كذلك دعمها يتم تمكين حالة الجلسة عند استخدام ملفات تعريف الارتباط (الافتراضي هو خطأ)
المهلة = "20" تعني: عدد الدقائق التي يمكن أن تكون فيها الجلسة خاملة
8. وظيفة <trace>
: تكوين خدمة تتبع ASP.NET المستخدمة بشكل أساسي اختبار البرنامج لتحديد مكان حدوث الأخطاء.
مثال: ما يلي هو التكوين الافتراضي في Web.config:
<traceenable="false" requestLimit="10" pageOutput="false" TraceMode="SortByTime" localOnly="true" />
ملاحظة:
التمكين = "false" يعني عدم تمكين التتبع؛ يحدد requestLimit = "10" عدد طلبات التتبع المخزنة على الخادم،
ويحدد pageOutput = "false" أنه لا يمكن الوصول إلى مخرجات التتبع إلا من خلال الأداة المساعدة للتتبع؛
ويحدد TraceMode = "SortByTime" عرض معلومات التتبع في ملف الترتيب الذي تتم به معالجة التتبعات
localOnly = "true" يعني أن عارض التتبع (trace.axd) يُستخدم فقط لخادم الويب المضيف
3. تخصيص قسم تكوين ملف Web.config
عملية تخصيص قسم تكوين ملف Web.config ينقسم إلى خطوتين.
أحدهما هو الإعلان عن اسم قسم التكوين واسم فئة .NET Framework التي تعالج بيانات التكوين في هذا القسم بين علامتي <configSections> و</configSections> في الجزء العلوي من ملف التكوين.
والثاني هو إجراء إعدادات التكوين الفعلية للأقسام المعلنة بعد منطقة <configSections>.
مثال: قم بإنشاء قسم لتخزين سلاسل اتصال قاعدة البيانات
<configuration>
<أقسام التكوين>
<section name="appSettings" type="System.Configuration.NameValueFileSectionHandler، النظام، الإصدار=1.0.3300.0، الثقافة=محايدة، PublicKeyToken=b77a5c561934e089"/>
</configSections>
<appSettings>
<add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/>
</appSettings>
<system.web>
...
</system.web>
</configuration>
4. الوصول إلى ملف Web.config
يمكنك الوصول إلى ملف Web.config باستخدام مجموعة السلسلة الثابتة ConfigurationSettings.AppSettings: احصل على سلسلة الاتصال التي تم إنشاؤها في المثال أعلاه.
Dim sconstr As String = ConfigurationSettings.AppSettings("SconStr")
خافت scon = SqlConnection جديد (sconstr)