یکی از زبانهای رایج برنامهنویسی سمت سرور ASP.NET است که از زبان سی شارپ گرفته شده است. این زبان بر روی سیستم عامل ویندوز سرور اجرا میشود و از پنل Website Panel استفاده میکند. شاید یکی از دلایلی که زبان ASP.NET را محبوب کرده، این است که برنامه نویسان در این زبان احساس امنیت میکنند؛ بااینحال هر زبان و برنامهای مشکلات خاص خود را دارد. معمولاً وقتی برای برنامههای ASP.NET مشکلی پیش میآید، با خطای «server error in '/' application» روبهرو میشویم. در این مقاله قصد داریم تا این پیام را موردبررسی قرار دهیم و آن را درک کنیم.
نحوه فعال سازی نمایش کامل خطای server error in '/' application
گاهی لازم است تا ما بتوانیم خطاهای احتمالی برنامهٔ خود را پیدا کنیم و آنها را رفع کنیم. در بیشتر سرویسها بهصورت پیشفرض ارورهای برنامه بهصورت کامل نمایش داده نمیشود؛ اما اگر بخواهید تمامی مشکلات برنامه را برطرف کنید، باید نمایش کامل ارور ها را فعال کنید. برای فعالسازی، به ترتیب زیر عمل کنید:
ابتدا فایل web.config را در سرویسدهنده باز کنید؛ برای باز کردن این فایل بر روی لوکال، میتوانید از برنامههای ویرایش متن مانند NotePad و IDE هم کمک بگیرید.
دقیقاً بعد از تگ system.web میبایست تگ "customErrors mode="Off را قرار دهید و فایل را ذخیره کنید.
ناهماهنگی بین نسخه برنامه و نسخه هاست
این ارور زمانی رخ میدهد که ورژن اجرا کنندهٔ هاست با ورژن برنامه نوشته شده شما مطابقت نداشته باشد. در واقع اگر ورژن هاست بهروز باشد و ورژن برنامه شما مربوط به گذشته باشد، این ارور ظاهر میشود. برعکس این موضوع هم اتفاق میافتد. تنها راه این است که ورژنها را با هم تطبیق دهید. به این معنی که نسخهها را بهروزرسانی کنید.
همانطور که در تصویر مشاهده میکنید، در پیام ارور این صفحه، targetFramework برابر با 4 است، درحالیکه ورژن پنل بر روی 2 تنظیم شده است.
ارور کد نویسی
اگر برنامه شما با اشکالات املایی مواجه شود، مثلاً سمیکالن (؛) نداشته باشد، یا یک باگ رخ داده باشد، پیام ارور ظاهر میشود. در این حالت در صفحه ارور، خطی که دچار مشکل شده نمایش داده میشود.
تنظیمات هاست یکسان نیست
گاهی شما یک برنامه را بر روی لوکال ایجاد میکنید اما پس از آپلود روی سرور با صفحه ارور مواجه میشود، در این حالت اگر مطمئن هستید که مشکلی در کدهای شما وجود ندارد، باید تنظیمات هاست را بررسی کنید و اگر تنظیمات هاست با تنظیمات اسکریپتهای شما ناهماهنگ است، آن را تطبیق دهید تا پیام خطا برطرف شود.
آدرسها با مشکل مواجه شدهاند
اگر صفحه 404 را بر روی کدهای اسکریپت خود هندل کرده باشید، درصورتیکه آدرسها مشکلی داشته باشند، باید صفحه 404 موردنظر شما نمایش داده شود؛ اما اگر تنظیمات صفحه 404 انجام نشده باشد، با صفحه ارور مواجه خواهید شد. برای رفع این ارور باید ابتدا صفحه 404 خود را طراحی و اضافه کنید و همچنین مسیرهای آدرسها را بررسی کنید.
ناهماهنگی بین پسوند فایل و ماهیت MIME Type فایل در سرور
درصورتیکه از فایلی استفاده کنید که پسوند آن با ماهیت آن یکی نباشد و یا پسوند نا آشنا داشته باشد، باید آن را برای سرویسدهنده مشخص کنید تا سرویسدهنده دچار مشکل نشود.
برای این کار مراحل زیر را دنبال کنید:
- ابتدا IIS Manager را باز کنید.
- در پنل سمت چپ سرور خود را گسترش دهید و به مسیر زیر مراجعه کنید:
your server > Sites > Default Web Site
- در مرکز پنل بر گزینه MIME Types دو بار کلیک کنید.
- در زیر ستون سمت راست بر روی Actions کلیک کنید تا پنجرهٔ آن باز شود.
- در پنجرهای که بهصورت پاپ آپ باز میشود، پسوند و MIME Types را وارد کنید و بر روی OK کلیک کنید.
سخن پایانی
زبان ASP.NET بااینکه در زمان خودش یکی از قدرتمندترین زبانهای برنامهنویسی سمت وب بود و از طرف شرکت قدرتمند مایکروسافت پشتیبانی میشد، اما به دلیل تجاری بودنش و عدم دسترسی راحت توسعهدهندگان منبع باز، بهاندازه PHP و دیگر زبانها رشد نکرد. امروزه PHP بهواسطهٔ فریم ورک لاراول بهشدت محبوب شده و کمتر کسی به سراغ ایاسپیداتنت (server-side web application framework) حمایتهای بیشمار دوطرفه از سوی توسعهدهندگان، شانس بیشتری دارند که برایشان بستههای امنیتی بهتری در نظر گرفته شود.