چهارشنبه, ۵ اردیبهشت, ۱۴۰۳ / 24 April, 2024
مجله ویستا

ASP.NET چیست؟


ASP.NET چیست؟
● ASP.NET چیست؟
یک چارچوب کاملاً پیشرفته است که برای توسعه برنامه‌های قابل بست وب بکار می‌رود. سیستم می‌تواند چنان تنظیم شود که پاسخ به درخواستهایی را که برای انواع مختلف فایل‌ها انجام می‌شوند، به زیرسیستم‌های مختلف نصب شده در سرور محول کند. با ASP ، درخواست‌هایی که برای فایل‌های با پسوند .asp صورت می‌گیرند به ASP.DLL واگذار می شوند. ASP.DLL نسخه اجرایی ASP است که کد اسکریپت نعبیه شده در HTML درون فایل را Parse کرده و خروجی HTML آن صفحه را (به صورت پویا) تولید می‌نماید. چاچوب ASP.NET یک نسخه اجرایی کاملاً جدید ASP است که درجهت تولید HTML تدارک دیده شده است. درخواست‌هایی که باری دریافت فایل‌هایی با پسوند .aspx فرستاده می‌شوند، به aspnet-isapi.dll واگذار می‌شوند. این یک کامپوننت مدیریت شده است که در پاسخ به درخواست ، به ایجاد نمونه‌هایی از کلاس‌های .NET می‌پردازد.
چاچوب ASP.NET زیرمجموعه‌ای از کلاس‌های سیستم .NET است. دراین زیرمجموعه ، تعداد بی‌شماری کلاس گنجانده شده که به صورت پویا برای شما HTMLهایی می‌سازند، مانند انواع و اقسام فهرست، جدول، فرم و منطق اعتبارسنجی ، کلاس‌هایی برای مدیریت state و caching و برای تنظیم و ایمن کردن برنامه و مجموعه‌ای از کلاس‌هایی برای حفظ سازگاری با ASP قدیمی . با استفاده از ویژوال استودیو دات نت، این زیر ساختار در اختیار شما قرار می‌گیرد و درنتیجه کدی که شما می‌سازید می‌تواند خیلی شبیه به Active Server Page ثدیمی باشد، ولی هرچه بیشتر با سرویسها و زیرساختار آن آشنا می‌شوید، کد شما بیشتر به یک فرم ویژوال بیسیک درمی‌آید، با یک کد برای اجزای UI و فایلی جداگانه برای کد شما.
● ساخت صفحات وب با ASP.NET
ASP امروزه یکی از گسترده‌ترین روشهای توسعه برنامه‌های کاربردی وبی شده است. آسان بودن این تکنولوژی دنیای وب سرویسهارا که زمانی فقط در اختیار گروه کوچکی از برنامه‌نویسان یونیکس بود که بلد بودند با PERL یا C به پیاده‌سازی CGI بپردازند، پیش روی میلیون‌ها برنامه‌نویس ویژوال بیسیک در سراسر دنیا گشوده است. وی‌بی اسکریپت طرف سرور درکنار اشیاء ذاتی ASP (از قبیل Session , Application , Response , Request) به میزان قابل ملاحظه‌ای از سختی‌ها وزمان آموزش افراد کاساه است. البته این آسان بودن بدون جنبه منفی به دست نیامده است. وی‌بی اسکریپت یک زبان interpret شده است، یعنی وب سرور باید در پاسخ به درخواستهایی که دریافت می‌کند، به Parse کردن و کامپایل کردن صفحات ASP در سرور بپردازد. اسکریپت ASP بصورت inline در خروجی HTML صفحه درج می‌شود و به سرعت یک کد اسپاگتی گونه را پدید می‌آورد که نگهداری و ارتقاء آن کار راحتی نیست. ادیتورهای WYSIWYG مکرراً از این کد طرف سرور ایراد می‌گرفتند که نمی‌فهمند چه می‌گوید. شیء پرمصرف Session خواست که امکان« نگهداری وضعیت» (state maintnenace) را دریک محیط ذاتاً بی‌ثبات (ststeless) فراهم کند، ولی این راه‌حل در یک محیط وب کارساز نشدو هیچ زیرساختار خوبی برای cache کردن خروجی درطرف سرور وجود نداشت. مایکروسافت با آگاهی کامل از تمام این مشکلات قدم پیش گذاشت و چارچوب ASP.NET را از ریشه خلق کرد تا با این مشکلات مقابله کند. در نگاه اول به نظر می‌رسد که ASP.NET شباهت بسیاری به Active Server Page قدیمی دارد. مایکروسافت حتی ادعا می‌کند خیلی راحت پسوند یک صفحه ASP را به ASPX تغییر دهید و مطمئن باشید که آن صفحه در چاچوی جدید کار خواهد کرد، ولی هرچه بیشتر به عمق این چارچوب وارد شوید، متوجه خواهید شد که این مجموعه یک نسخة کاملاً بازبینی شده و تکمیلی ASP است،
ASP.NET و ASP چند تفاوت جال توجه دارند:
- صفحات ASP.NET « کامپایل » می‌شوند نه « تفسیر »: با دریافت اولین درخواست صفحه، یک فایل باینری اجرایی کامپایل می‌شود. این فایل ، در یک حافظه cache در وب سرور ذخیره می‌شود، و درخواست‌های بعدی این صفحه، از این نسخة اجرایی برای پاسخ به درخواست استفاده می‌کنند.
- از آنجا که دیگر به مفسر اسکریپت احتیاجی نیست، به ویژگی‌های زبانی ویژوال بیسیک دات نت دسترسی کامل داریم. در واقع به جای نوشتن اسکریپتی که HTML تولید کند، برنامه‌ای می‌نویسیم که با اشیاء کار می‌کند.
- چاچوب به روشنی کد را از محتوا تفکیک کرده ، با ASP، چون HTML درهنگام interpret شدن صفحه تولید می‌شود، منطق صفحه شما باید در داخل صفحه درجایی گنجانده شود که می‌خواهید HTML ساخته شده با آن منطث در آنجا ظاهر شود، ولی با ASP.NET تا وقتی تمام کد صفحه شما به پایان اجرا نرسیده باشد، هیچ HTML تولید نمی‌شود. کل فرآیند تولید HTML در مرحلة پرداخت صفحه صورت می‌گیرد، که از خصوصیات اشیائی استفاده می‌کند که برای تولید HTML ایجاد کرده‌اید.
- چارچوب ASP.NET وضعیت را برای شما حفظ می‌کند: با چارچوب ASP.NET « حفظ وضعیت » اعتبارسنجی روی داده‌هایی که دریک فرم HTML وارد شده‌اند، خود به خود برای شما انجام خواهد شد و بدون اینکه لازم باشد یک خط کد بنویسید، فیلدها مقادیر خود را حفظ می‌کنند. این امکان، نه تنها برای قیلدهای متنی ساده فراهم شده، بلکه روی لیست‌های SELECT، چک باکس‌ها، دکمه‌های رادیویی و هرنوع ورودی دیگر نیز عمل می‌کند.
- ASP.NET می‌تواند وقایع را در سرور اجرا کند: در ASP به علت انبوه اسکریپتی که باید با HTML ترکیب شوند، رایج شده که یک ناحیه عملیاتی را بین چند صفحه تقسیم کنند. با ASP.NET ، اما می‌توانیم event trap یا « واقعه نگارهایی » را در طرف سرور بنا کنیم. این چیزی شبیه به Remote Scripting است، ولی با HTML استاندارد کار می‌کند، بدین ترتیب ، می‌توانیم یک دکمه HTML را روی صفحه بگذاریم و کاری کنیم واقعه Click آن درطرف سرویس تحریک شود.
- مدل وقایع در ASP.NET بسیار منسجم است: با ASP، اسکریپت به یک حالت «بالا به پایین» در صفحه اجرا می‌شود، ولی در ASP.NET ، یک مدل رویدادی وجود دارد و مهمتر این‌که، واقعه‌ای وجود دارد که وقتی صفحه شروع به بارشدن می‌کند، تحریک می‌شود. این خیلی شبیه به واقعه From Load در VB است.
منبع : جنوبی‌ها


همچنین مشاهده کنید