كلیه اطلاعات این سایت مربوط به شركت طراحی سایت - شركت نرم افزاری بهپردازان می باشد


موضوع مقاله : Webconfig فایل کلیدی وب سایت چیست؟ :

شرح : برنامه هاي کاربردي مبتني بر Web که داراي کاربران زيادي هستند احتياج به انجام تنظيماتي متناسب با کاربردهاي مختلف خود دارند. در ASPNET اينگونه تنظيمات که مربوط به منابع مورد استفاده برنامه کاربردي، اطلاعات محلي، اطلاعات امنيتي و… مي شوند در داخل يک فايل XML ذخيره مي شوند که نام آن WebConfig است
بيشتر برنامه هاي کاربردي کامپيوتري داراي بخشي به نام Setup هستند که براي انجام تنظيمات متناسب با استفاده هاي مختلف کاربران مورد استفاده قرار مي گيرد. برنامه هاي کاربردي مبتني بر Web نيز که داراي کاربران زيادي هستند از اين قائده مستثني نيستند و احتياج به انجام تنظيماتي متناسب با کاربردهاي مختلف خود دارند.

در ASP.NET اينگونه تنظيمات که مربوط به منابع مورد استفاده برنامه کاربردي، اطلاعات محلي، اطلاعات امنيتي و… مي شوند در داخل يک فايل XML ذخيره مي شوند که نام آن Web.Config است و طبعا به مانند اسناد XML شامل تعدادي تگ (معادل Tag در HTML) است و به کوچک و بزرگ بودن حروف نيز حساس است (Case Sensitive).
در اين مقاله به اختصار به توضيح در مورد تگهاي مهم اين فايل و چگونگي تنظيم خصوصيات مهم اين تگها و کاربردهاي آنها مي پردازيم. پيش از ادامه مطلب اين نکته را متذکر مي شويم که اين فايل شامل تعداد زيادي تگ با خصوصيات مختلف است که هر يک به جنبه اي از يک برنامه کاربردي تحت Web مربوط هستند. در اين مقاله در مورد تگهاي پرکاربرد و مهم اين فايل و خصوصيات مهم آنها اطلاعاتي ارائه شده است براي به دست آوردن اطلاعات بيشتر در مورد هر يک از تگها و خواص آنها بايد به منابع تخصصي مرتبط با هر بخش رجوع کرد.

محل و محدوده عملکرد فايل Web.Config
به طور طبيعي هر برنامه کاربردي Web در ASP.NET داراي حداقل يک فايل Web.Config در داخل دايرکتوري ريشه خود مي باشد که به طور خودکار توسط Visual Studio .NET در زمان ايجاد اين Web Application ايجاد شده و با مقادير پيش فرض در دايرکتوري ريشه برنامه کاربردي قرار مي گيرد. ولي برنامه نويسان مي توانند بر حسب نيازها و کاربردهاي برنامه هاي خود تعداد بيشتري از اين فايل XML را در داخل دايرکتوريهاي مختلف برنامه ايجاد کنند و براي تنظيمات فايلهاي داخل همان دايرکتوري يا زير دايرکتوريهاي آن به کار گيرند.
تنظيمات هر فايل Web.Config به فايلهاي داخل زير دايرکتوري‎اي که در آن قرار دارد و همچنين زير دايرکتوريهاي آن اعمال مي شود. همچنين برنامه نويس مي تواند از طريق کدهاي داخل هر فايل Web.Config منابع و دايرکتوريهاي مورد نظر را تغيير دهد. براي درک بهتر نحوه ارتباط فايلهاي Web.Config در يک برنامه کاربردي Web، مثال زير را بيان مي کنيم.
اگر يک دايرکتوري به نام main و دو زير دايرکتوري به نام Sub1 و Sub2 در برنامه کاربردي موجود باشند که در درون هر کدام از اين دايرکتوريها يک فايل Web.Config قرار داشته باشد تنظيمات هر فايل Web.Config بر فايلهاي داخل زير دايرکتوري آن اعمال مي شود اما اگر در يک فايل Web.Config که داخل زير دايرکتوري Sub1 يا Sub2 قرار دارد يکي از تنظيماتي که در فايل Web.Config که داخل main قرار دارد صورت نگرفته باشد مقدار تنظيم شده در داخل فايل موجود در main به زيردايرکتوريها به ارث مي رسد.
نکته اي که بايد در اينجا به آن اشاره کرد اين است که کاربران برنامه وب به محتواي فايلهاي Web.Config دسترسي ندارند.

ساختار فايل Web.Config
هر فايل Web.Config شامل يک بخش پايه است که همان دو تگ و هستند و بقيه محتوا درون اين دو تگ قرار مي گيرد. پس ساختار کلي هر فايل Web.Config به صورت زير است:

محتواي هر فايل Web.Config شامل دو بخش اساسي است: معرفي و تنظيمات. بخش معرفي داخل دو تگ و قرار مي گيرد و بخش تنظيمات، تنظيمات مربوط به منابع معرفي شده در اين تگها را شامل مي شود.
ابتداي فايل Web.Config و بعد از تگ تگ قرار دارد. داخل اين تگ و تگ جفت آن يعني تگهايي جهت معرفي منابع و اداره کننده قسمتها قرار دارد. حال که با ساختار کلي فايل Web.Config آشنا شديم در ادامه به توضيحاتي در مورد تگهاي مهم اين فايل و خصوصيات آنها مي پردازيم.

Location
پيشتر اشاره شد که تنظيمات هر فايل Web.Config بر فايلهاي داخل ريشه اين فايل و زيردايرکتوري هاي آن اعمال مي شوند، حال اگر بخواهيم تنظيمات يک فايل Web.Config را بر دايرکتوري خاصي اعمال کنيم تنها لازم است اين تنظيمات را داخل يک جفت تگ و قرار دهيم يعني شکل کلي استفاده از اين جفت تگ به صورت زير است:

اطلاعات محلي
از تگ براي تعريف خصوصيات فرهنگي و زباني برنامه کاربردي استفاده مي شود. خواص مهم اين تگ عبارتند از:
• culture: فرهنگ برنامه کاربردي را تعيين مي کند.
• requestencoding: شکل رشته هاي درخواست شده را تعيين مي کند (براي مثال Unicode).
• responseencoding: شکل رشته هاي پاسخ را تعيين مي کند.

تگهاي امنيتي
درون فايل Web.Config تگهايي جهت تنظيم مقادير و خصوصيات امنيتي برنامه کاربردي قابل تعريف هستند. جفت تگهاي و و و ساختارامنيتي درون فايل Web.Config را مي سازند که داراي خصوصيات و مقادير متفاوتي هستند که توضيح در مورد آنان به مباحث مقدماتي امنيت در ASP. NET بر مي گردد ولي در زير توضيح کوتاهي از هر يک از اين جفت تگها ارائه مي گردد.
تگ : اين جفت تگ به تعيين شکل تاييد اعتبار در برنامه کاربردي تحت Web مي پردازد. از طريق خصوصيت mode که چهار مقدار Form ،Passport ،Windows و None را مي پذيرد مي توان شکل تاييد اعتبار را به ترتيب بر مبناي ساختار امنيتي IIS، سرويس تاييد اعتبار Passport شرکت مايکروسافت، استفاده از cookieها و بدون استفاده از سيستم امنيتي تعيين کرد.
تگ : اين جفت تگ براي تعيين کاربران واجد شرايط و يا فاقد شرايط ورود به محدوده تحت کنترل فايل Web.Config استفاده مي شود. با استفاده از دو تگ و مي توان کاربراني که اجازه ورود به محدوده تحت حفاظت را دارند و فاقد اين اجازه هستند استفاده کرد.

خطاي زمان اجرا
تگ جهت تعيين شکل عملکرد برنامه در زمان وقوع يک خطاي پيش بيني نشده در زمان درخواست يک صفحه توسط کاربر به کار مي رود. اين تگ داراي دو صفت مهم است که در زير توضيح داده شده اند.
• mode: اين صفت جهت تعيين نوع عملکرد برنامه کاربردي در مواجهه با خطا به کار مي رود و يکي از سه مقدار RemoteOnly ،On و Off را مي گيرد. با تنظيم اين صفت با مقدار RemoteOnly در صورت بروز خطاي زمان اجرا صفحه از پيش تعيين شده در قسمت defaultredirect براي کاربران نشان داده خواهد شد ولي کاربراني که بصورت محلي از برنامه استفاده مي کنند (مقابل سرور نشسته اند) صفحه خودکار ASP.NET و جزئيات خطا را خواهند ديد. با تنظيم اين صفت با مقدار On در صورت بروز خطاي زمان اجرا همواره صفحه از پيش تعيين شده در قسمت defaultredirect نشان داده خواهد شد. با تنظيم اين صفت با مقدار Off صفحه خطاي خودکار ASP. NET به نمايش در مي آيد که از لحاظ امنيتي گزينه مناسبي نيست.
• defaultredirect: آدرس Url فايلي را که براي نمايش خطا در زمان تنظيم خصوصيت mode با مقدار On يا RemoteOnly بکار مي رود تعيين مي کند.

وضعيت جلسه کاري
تگ براي تعيين وضعيت جلسه کاري مورد استفاده قرار مي گيرد و مدت زمان يک جلسه کاري و همچنين شکل تعيين درخواست کاربران را تعيين مي کند. از صفات مهم اين تگ يکي Cookiless است که تعيين مي کند جلسه کاري کاربران از طريق Cookieها يا SessionID ها نسبت داده شوند که دو مقدار true يا false را مي گيرد: true براي استفاده از SessionID و false براي استفاده از Cookie.
خصيصه مهم ديگر اين تگ mode است که يکي از چهار مقدار زير را مي گيرد:
• Off: جلسه کاري غير فعال
• Inproc: اطلاعات به صورت In-process ذخيره مي شوند.
• SQLServer: اطلاعات جلسه کاري توسط پايگاه داده SQL Server مديريت مي شوند.
• StateServer: اطلاعات توسط يک سرويس Out-Of-Process مديريت مي شوند.
خصوصيت مهم ديگر اين تگ timeout است که زمان اعتبار جلسه کاري هر کاربر را بر حسب دقيقه تعيين مي کند.

کامپايل برنامه کاربردي
تگ براي تعيين خصوصيات مربوط به شکل کامپايل برنامه کاربردي مورد استفاده قرار مي گيرد که دو خصيصه مهم آن عبارتند از:
• debug: يکي از دو مقدار true يا false را مي گيرد (false پيش فرض است) و تعيين مي کند که اطلاعات اشکال زدايي در اسمبلي هاي بعد از کامپايل قرار بگيرند يا خير. با تنظيم اين خصيصه با مقدار true اين کار صورت مي گيرد. و با تنظيم اين خصيصه با مقدار false اين کار صورت نمي گيرد.
• defaultlanguage: زبان برنامه نويسي مورد استفاده جهت کامپايل برنامه کاربردي (به صورت Dynamic) را تعيين مي کند.

منبع : pcpedia.ir