موضوع مقاله: ای‌اس‌پی‌دات‌نت | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ای‌اس‌پی‌دات‌نت | مقدمه: این بخشی از زیر ساخت.NET مایکروسافت و جانشینی برای تکنولوژی صفحات سرویس دهنده فعال (ASP) است. | ## بخش 1: ای‌اس‌پی‌دات‌نت | مشخصات قالب پرونده ASPX ASPX یک پرونده با قالب متنی است که برای ساخت صفحات وب (ابهام‌زدایی) از آن استفاده می‌شود، و استاندارد پرونده‌های XML را رعایت می‌کند. علاوه برآن، کدهای پویایی که درسرویس دهنده‌ها اجرا می‌شوند، می‌توانند درمحلی دریک صفحه درون یک قطعه قرار بگیرند --٪> کدهای پویا <٪- که مانند دیگرتکنولوژی‌های توسعه یافته مانند PHP, JSP و ASP است اما این شیوه معمولاً توسط مایکروسافت رد می‌شود مگر به منظور الحاق داده (Data access)، زیرا زمانی‌که صفحه ترجمه می‌گردد درخواست‌های بیشتری وجود دارد. روشی که توسط مایکروسافت برای رفتار با کد برنامه پویا پیشنهاد می‌شود، مدل پشتیبانی کد است که این کد را دریک پرونده جداگانه یا ضمیمه متنی به‌طور ویژه طراحی شده قرارمی‌دهد. (این عمل درمایکروسافت ویژوال استادیو و سایر محیط‌های توسعه یکپارچه به صورت خودکارانجام می‌شود) زمانی‌که از این روش برنامه‌نویسی استفاده می‌کنید، توسعه دهنده کدها را برای پاسخ دادن به رویدادهای مختلف مانند صفحه‌ای که بارگذاری می‌شود، یا کنترلی که بر روی آن کلیک می‌شود به جای رویه‌ای که در طول برنامه حرکت می‌کند، می‌نویسد. این پلتفرم در سال ۲۰۱۷ جز پرکاربردترین و پر درآمدترین زبان‌های برنامه‌نویسی دنیا معرفی شد.[۲] روش فنی ترجمه Asp.net از یک روش نمایش مرکب ترجمه‌ای استفاده می‌کند. در طول تألیف الگوی(.aspx) پرونده درون قالب کد تدوین می‌شود که یک درخت کنترل (مرکب) ساخته خواهد شد که قالب (ایستا) اصلی را نشان می‌دهد. کد آغازین با کد نوشتاری کاربر (معمولاً توسط مجمعی ازکلاس‌های جزئی چندگانه) و نتایج دریک ویژگی کلاس برای صفحه ترکیب شده است. ابتدا، در طول مراحل بارگذاری نمونه‌ای ازکلاس صفحه ساخته می‌شود وکد بارگذاری اجرا می‌گردد. این حاصل درخت کنترل اصلی است که در حال حاضرمعمولاً توسط روش‌هایی ازمراحل پیگیری در صفحه اداره می‌شود. همانند هرگره دردرخت، یک کنترل نشان داده شده است، مانند نمونه‌ای از یک کلاس که می‌تواند ساختاردرخت را به خوبی با دستکاری خصوصیات/روش‌های گره‌های منحصربه‌فرد تغییرمی‌دهد. پس ازپردازش درخواست نمونهٔ کلاس صفحه دورانداخته می‌شود وبا آن درخت کنترل تکمیل می‌شود. همچنین برای رسیدگی‌کننده axd منبع WEB مخصوص استفاده می‌شود که به توسعه دهنده‌های مؤلفه/ کنترل اجازه می‌دهد تا بسته یک کنترل/مؤلفه را با عکس‌ها، سند، قالب آبشاری صفحات و غیره کامل کند. برای گسترش دریک پرونده انفرادی (یک مجمع) مرورگر مرورگر پرونده‌های ممکن را درقالب XML ذخیره می‌کند که درنسخه ۳ از ASP.NET ۲ که شامل بسیاری ازاینها یه صورت پیش‌فرض است، معرفی می‌گردد تا مرورگرهای WEB مشترک را پشتیبانی کند. این‌ها مشحص می‌کنند که مرورگرها کدام توانایی‌ها را دارند، بنابراین ASP.NET ۲ می‌تواند به صورت خودکاربرطبق نتیجه خروجی خود سفارشی و بهینه‌سازی شود. این‌ها درقالب XML ذخیره می‌شوند بنابراین اجازه می‌دهند پیکربندی تغییرکند تا به سادگی ساخته شود. پرونده‌های منبع می‌توانند سراسری (به‌طور مثال پیام‌ها) یا محلی باشند که هریک معنی‌های خاصی برای یک aspx یا ascx یا پرونده دارند. dbml (نسخه ۳٫۵) لینک (برنامه‌نویسی) برای پرونده کلاس‌های داده SQL ساختارفهرست راهنما به‌طورکلی ساختار فهرست ASP.NET می‌تواند توسط اولویت‌های توسعه دهنده تعیین شود. | ## بخش 2: ای‌اس‌پی‌دات‌نت | صرف نظرازتعداد محدودی از نام‌های ذخیره شده، سایت می‌تواند هر تعداد از پوشه‌ها را پشتیبانی کند. هرچند ASP.NET قابلیت‌ها را برای جداسازی درخواست در هرمرحله از طول پردازش فراهم می‌کند، توسعه دهنده مجبورنیست درخواست‌ها را درسرتاسر یک برنامه مرکزی یا کنترل گر پیشین تبدیل کند. سرویس دهنده ASP.NET به صورت خودکارپرونده‌ها و زیرفهرست‌های درون این پوشه را درون انجمنی که درهرصفحه از سایت قابل دسترسی است، تألیف می‌کند. همچنین همه مشحصات سایت اجراکننده HTTP و بخش‌های جدا و پیاده‌سازی سرویس وب در این پوشه می‌روند. مانند دیگران، توسعه دهنده می‌تواند برای فراهم‌سازی استفاده از App_Code یک مجمع جدا را با کدهای از پیش تألیف شده انتخاب کند. زمانی‌که فرهنگ رابط کاربر برای فرانسه تنظیم می‌شود، ASP.NET به‌طورخودکاراین پرونده را برای این شرایط یافته و مورد استفاده قرارخواهد داد. این‌جایی است که توسعه دهنده ASP.NET نوعاً پیام‌های متمرکز را که برای بیش از یک صفحه مورد استفاده قرارمی گیرد، ذخیره می‌کند. (که سبب می‌شود توسعه دهنده احتیاجی به انجام یک مرحله تألیف جداگانه برای صفحات نداشته باشد) این ویژگی، سهولت توسعه ارائه توسط زبان‌های متنی را با نشان دادن کارایی برای تألیف دودویی فراهم می‌کند. به هرحال، تألیف می‌تواند سبب یک تأخیرقابل ملاحظه برای کاربرWEB زمانی‌که صفحه جدیداً ویرایش «نشر» شده را برای اولین باردرخواست می‌شود، شود. ASPX وسایرپرونده‌های منبع دریک میزبان مجازی بر روی یکی از سرویس‌های اطلاعاتی اینترنت جای دارد (یا سایرسرویس دهنده‌های سازگار؛ درزیرسایرپیاده سازی‌ها را ببینید) اولین باری که یک سرویس گیرنده صفحه‌ای را درخواست می‌کند، چارچوب کاری.NET پرونده(ها) را درون یک انجمن.NET تجزیه وتألیف کرده و پاسخ را ارسال می‌کند. به صورت پیش‌فرض به محض اولین درخواست ASP.NET سایت را بدون ایراد دردسته‌ای متشکل از۱۰۰۰ پرونده تألیف خواهدکرد. اگر به دلیل بروز مشکلی تألیف به طول انجامد، که در این حالت اندازه دسته یا راهبرد تألیف پیچیده بوده. همچنین توسعه دهنده‌ها می‌توانند تألیف مقدماتی خودشان را قبل ازگسترش انتخاب کنند، که به منظور رفع احتیاج برای تألیف به موقع دریک محیط تولید می‌باشد. گسترش مایکروسافت بعضی ازچارچوب‌های کاری الحاقی متصل شده درون ASP.NET را منتشرمی سازد وقابلیت تابعی آن را توسعه می‌دهد. مقایسه ASP.NET با ASP قدیمی ASP تلاش می‌کند تحول توسعه دهنده‌ها را ازتوسعه کاربرد ویندوز تا توسعه وب وسط ارائه قابلیت ساخت صفحات مرکب از کنترل‌ها همانند یک رابط کاربری ویندوزساده نماید. کنترل‌ها معلومات «فوت و فن» ترجمه خود را دارند: درحالی که کنترل‌های ویندوزخودشان را بر روی پرده ترسیم می‌کنند، کنترل‌های WEB قطعاتی از HTML وجاوااسکریپت را تولید می‌کنند که بخشی از فرم صفحه حاصل را به مرورگر کاربرنهایی می‌فرستد. چارچوب کاری تلاش می‌کند فناوری‌های موجود از قبیل JAVASCRIPT را با مؤلفه‌های درونی همانند حالت دید برای به دست آوردن حالت پایدار «درخواست درونی» درمحیط WEB نامتمرکز اصلی ترکیب کند. | ## بخش 3: ای‌اس‌پی‌دات‌نت | سایرتفاوت‌های مقایسه‌ای ASP قدیمی هستند: کد تألیف شده سبب اجرای سریع تر برنامه‌هایی همراه با به دام انداختن خطاهای زمان طراحی بیشتر در حین توسعه می‌شود. شباهت به کاربردهای ویندوزی ازقبیل کنترل‌ها و رویدادها، که سبب ایجاد امکان توسعه رابط‌های کاربردی توانمند می‌شود که سابقاً تنها درمیزکاریافت می‌شد. مجموعه وسیعی ازکنترل‌ها و کابخانه‌های کلاس اجازهٔ ساخت سریعتر برنامه‌های را می‌دهد، به‌علاوه کنترل‌های تعریف شده توسط کاربر همچون منوها، اجازه می‌دهد که معمولاً از قالبها استفاده شود. طراحی این کنترل‌ها روی صفحه آسانتراست زیرا اغلب آن‌ها می‌توانند دربیشترویرایشگرها به صورت بصری عمل کنند. HTML و جاوااسکریپتهای تولید شده به مرورگرسرویس گیرنده فرستاده می‌شدند که همیشه در برابر استانداردهای W3C/ECMA تأیید شده نبودند. به‌علاوه گاهی اوقات چارچوب کاری مرورگر خصایص را نا درست تشخیص می‌دهد یا مرورگرهای WEB، به غیر از IE ساخته شده توسط مایکروسافت مانند نسخه‌های قبلی، HTML/JAVASCRIPT بازگردانی شده به این سرویس گیرنده‌ها را با بعضی از خصایص از بین رفته یا بعضی اوقات شکسته یا ناقص شناسایی می‌کنند. کنترل‌های سرویس دهنده WEB: این‌ها کنترل‌های معرفی شده توسط ASP.net برای فراهم‌سازی رابط کاربری برای وب فرم هستند. این رویکرد به توسعه دهنده اجازه می‌دهد برنامه‌ها را به آهستگی جابه‌جا کند به جای آنکه همه آن‌ها را یک باره تغییرحالت دهد. درIIS ۶٫۰ وقبل ازآن، صفحاتی که با نسخه‌های متفاوتی ازچارچوب کاری ASP نوشته می‌شوند نمی‌توانستند حالت جلسه را بدون استفاده ازکتابخانه‌های مشخص ثابت تقسیم کند. به‌طور مثال اگر فرایندی خارج از کنترل اجرا شود، سبب می‌شود که پردازش عامل بیش از ۶۰ درصد از حافظه اصلی سخت‌افزار موجود را استفاده کند پردازش عامل در حلقه می‌افتد. همچنین ممکن است در شرایطی که تعداد معینی از درخواست‌ها ارسال می‌شود، این اتفاق رخ دهد، برای مثال در یک سیکل زمانی. در این حالات اگر برنامه برای استفاده از یک سشن (نشست) تنظیم شده باشد، ممکن است این نشست از دست برود. اگربرنامه به حالت جلسه برای ذخیره کردن اطلاعات اعتبار سنجی وابسته باشد، و برنامه با استفاده از جلسات درون پردازشی پیکربندی شود، ممکن است در صورتی که پردازش درحلقه بیفتد ارتباط کاربر قطع شود. کنترل‌های متعدد از قبیل کنترل‌های ورود و کنترل‌های چند مرحله‌ای، به صورت پیش‌فرض از جداول HTML استفاده می‌کنند. مایکروسافت هم‌اکنون به سمت طرقی می‌رود که این مشکل را به وسیله انتشار کنترل‌های سازگارکنندهٔ ASP.NET 2.۰ CSS حل کند. | ## جمع‌بندی | به‌طور مثال افزودنی‌های رایگان که نشانه‌هایی مطابق با اکس‌اچ‌تی‌ام‌ال+CSS در دسترس تولید می‌کنند.