نماد سایتنماد سایت بلاگ ایران هاست

مقایسه ی ASP کلاسیک با ASP.NET

در این مقاله به بررسی تفاوتهای زبان ASP کلاسیک با زبان ASP.NET می پردازیم. در ادامه به بررسی نقاط ضعف و قوت این دو زبان متفاوت خواهیم پرداخت.

مقدمه:

ASP و ASP.NET با وجود تشابه نام، خیلی با یکدیگر تفاوت دارند. ASP زبان اسکریپت نویسی است حال آنکه ASP.NET یک الگوی جدید برای پیاده سازی زبان های کامپایل شده (Visual Basic, C#, J#, C++.NET) در چارچوب وب، می باشد. علاوه بر آن، بر خلاف ASP، زبان ASP.NET یک زبان شیء گرا می باشد.

جدا سازی پردازش:

ASP تحت فضای پردازش IIS اجرا می گردد و بنابراین به cache های برنامه ی کاربردی بواسطه ی شروع یا توقف IIS حساس است. به بیان دیگر، پردازش عملگر ASP.NET یک پردازش متمایز از پردازش IIS می باشد. مدل پردازش در ASP.NET به تنظیمات جداسازی پردازش در IIS مربوط نمی شود.

ترجمه (Compile) در مقایسه با تفسیر (Interpretation):

هنگامیکه صفحه ی ASP کلاسیک مورد تقاضا واقع می شود، متن آن صفحه به صورت خطی تفسیر می شود. تمام محتوایی که شامل اسکریپت سمت سرور نیست، بدون تغییر در پاسخ ارائه می شود. تمام اسکریپت های سمت سرور در صفحه، ابتدا از طریق مفسر مناسب (Jscript یا VBScript) اجرا می شود، سپس خروجی آن در پاسخ ارائه می شود. بر خلاف ASP، صفحات ASP.NET همیشه به کلاس های NET. که درون کدهای اسمبلی قرار دارد، ترجمه می شوند. این کلاس شامل تمام کدهای سمت سرور و کدهای ایستای HTML می باشد. بنابراین در دفعه ی اولی که صفحه توسط کاربر مورد دسترسی قرار می گیرد به کدهای ماشین کامپایل شده و روی سرور ذخیره می شود. برای دفعات بعدی درخواست همان صفحه، در واقع کاربر از کدهای ماشین کامپایل شده ی متناظر با صفحه ی مذکور سرویس دریافت می نماید. مورد اخیر تمامی نقص های مدل اسکریپت نویسی زبان ASP کلاسیک را در این زمینه حذف می نماید.

[irp posts=”۱۱۴۲۶″ name=”بهینه سازی عملکرد asp.net با استفاده صحیح از Application State و Session State”]

پیامدهای عملکرد:

اشکال زدایی:

از آنجا که ASP شامل اسکریپت هایی است که تفسیر می شوند، اشکال زدایی در آن دشوار خواهد بود. اما با استفاده از ASP.NET ، تمام ابزار ها برای توسعه دهندگان NET.، برای توسعه دهندگان aspx. نیز قابل استفاده هستند. خطاها ی صفحات بعنوان خطاهای کامپایل کننده ایجاد می شوند. مورد اخیر یک شانس هم تلقی می شود، زیرا که بیشتر خطاها در زمان کامپایل ایجاد می شوند تا در زمان اجرا ، چون زبانهای VB.NET و C# هردو از جمله زبان های تایپی می باشند.

منابع:

سایت مایکروسافت

سایت codeproject

سایت daniweb

خروج از نسخه موبایل