معرفی Asp.Net ASP مخفف Active Server Pages یا صفحات سرور فعال می باشد. Asp محصول مایکروسافت و چارچوبی جهت توسعه صفحات وب می باشد. Asp از مدلهای مختلف زیر پشتیبانی می کند : Classic ASP ASP.NET Web Forms ASP.NET MVC ASP.NET Web Pages ASP.NET API ASP.NET Core Classic ASP : در سال ۱۹۹۸ میلادی به عنوان اولین زبان برنامه نویسی سمت سرور مایکروسافت معرفی شد. کدها معمولا با وی بی اسکریپ نوشته می شود و دارای پسوند asp هستند. مثالی از یک کد Asp : کد: <html> <body> <% For i = 0 To 5 response.write("The number is " & i & "<br />") Next %> </body> </html>
ASP.NET Web Pages : یک مدل برنامه SPA (برنامه تک صفحه ای) است. این مدل شبیه به PHP و ASP کلاسیک است. مثال از Asp.Net Web Pages : کد: [/B] [B]<html> <body> <h1>Hello Web Pages</h1> <p>The time is @DateTime.Now</p> </body> </html>
ASP.NET Web Forms : یک مدل برنامه ای رویداد محور است که معمولا برنامه نویسان توسط ویژوال استودیو این نوع مدل را برای برنامه نویسی خود انتخاب می کنند. ASP.NET MVC : مدلی جهت برنامه نویسی ۳ لایه (کاربر،کنترل،داده) که برنامه نویسی سمت سرور را نظم و امنیت بیشتری می بخشد. اینم بگم که ببشتر برنامه نویسان دارند به این نوع مدل متمایل می شوند. ASP.NET API : این مدل یک برنامه API را جهت برنامه اصلی و کاربردی فراهم می کند. ASP.NET Core : در سال ۲۰۱۶ منتشر شد . این مدل در اصل کلیه مدلهای ASP.Net را باهم ادغام کرده است.
جهت پیاده سازی و اجرا صفحات وب به این موارد نیاز دارید : HTML و CSS جهت طراحی قالب صفحه زبان وب سرور (VB یا #C) پایگاه داده سرور (معمولا SQL Server) چارچوب توسعه وب (ASP.Net)
ASP.Net بخشی از بستر اجرای نرم افزار (platform) Microsoft.Net می باشد. اپلیکیشن های تحت ASP.Net کدهای ترجمه یا کامپایل شده ای هستند که از مولفه های (component) توسعه پذیر (extensible) و قابل استفاده ی مجدد موجود در.Net Framework استفاده می کند. این کدها می توانند از کلیه ی سلسله مراتب (hierarchy) کلاس ها در.Net Framework استفاده کنند. کدهای نرم افزار ASP.Net می توانند به هرکدام از زبان های زیر نوشته شوند. C# Visual Basic.Net Jscript J# ASP.Net برای تولید اپلیکیشن های تحت وب تعاملی (interactive) و مبتنی بر داده (داده محور یا data-driven) از طریق اینترنت استفاده می شود، که شامل تعداد زیادی ابزار کنترلی (control) از قبیل textboxها، دکمه ها وlable هایی برای پیکربندی و دستکاری کد برای ایجاد صفحات HTML می باش
فرمهای وب ASP.Net قابلیت رویداد محور بودن (event-driven) را به اپلیکیشن های تحت وب، اضافه می کند. مرورگر، فرمی از وب را به سرور وب ارسال می کند و سرور در پاسخ یک صفحه ی نشانه گذاری شده (markup page) یا صفحه HTML را برمی گرداند. تمام فعالیت های سمت سرویس گیرنده (client-side) کاربر برای پردازش stateful (پایدار) به سرور فرستاده می شوند. سرور، خروجی (output) عملیات کاربر را پردازش می کند و عکس العمل هایی نشان می دهد. اکنونHTTP یک پروتکل stateless (ناپایدار) می باشد. چارچوب کاری (framework) ASP.Net به ذخیره سازی اطلاعات مربوط به وضعیت (state) برنامه ی تحت وب (web application) کمک می کند که شامل موارد زیر می باشد. Page state Session state وضعیت صفحه وضعیت مربوط به کاربر می باشد، برای مثال محتویات فیلدهای ورودی (input field) مختلف در فرم وب. Session state نیز مجموعه ای است حاصل از صفحات مختلفی که کاربر از آن ها را بازدید و با آن ها کار کرده است، به عنوان مثال می توان به کل session state اشاره کرد . برای واضح کردن مفهوم اجازه دهید در ادامه مثالی از سبد خرید ارائه دهیم. کاربر آیتم هایی را به سبد خرید اضافه می کند. آیتم ها از صفحه ای انتخاب می شوند که صفحه آیتم ها نامیده می شود، کل آیتم های جمع آوری شده و قیمت ها در صفحه ای متفاوت نشان داده می شوند که صفحه سبد خرید نامیده می شود. فقط HTTP نمی تواند مسیر تمام اطلاعات ورودی از تمام صفحات مختلف را حفظ کند. Session state(وضعیت session) و زیر ساخت سمت سرور (server side infrastructure) ASP.Net تمام اطلاعاتی که به صورت سراسری در طی یک session جمع آوری شده را دارد. ASP.NET runtime ، page state (وضعیت صفحه) را از سمت / و به سمت سرور در سراسر صفحه تقاضاها حمل می کند و در زمان اجرا، کدهای asp.net را تولید می کند و کامپوننت های مربوط به بخش سرور را در فیلدهای پنهان ترکیب (می گنجاند می کند. از این طریق سرور از وضعیت کلی برنامه ی کاربردی آگاه شده و به یک روش اتصال دو لایه (two-tiered connected way) عمل می کند.
مدل کامپوننت ASP.Net: این مدل از ASP.Net ساختارهای متفاوتی از صفحات ASP.Net را ارائه می دهد. اساسا این مدل، مدلی است که موارد زیر را توصیف می کند: مولفه های بخش سرور شامل همه ی عناصر HTML یا تگ هایی مانند و کنترل های سرور که به توسعه رابط پیچیده ی کاربر کمک می کند، برای مثال کنترل calendar یا کنترل Gridview. ASP.Net فن آوری است که تحت.Net Framework کار می کند که شامل همه ویژگی های مربوط به وب می شود..Net Framework از سلسه مراتب شئ گرایی ساخته شده است. نرم افزار وب ASP.Net از صفحات ساخته شده است. وقتی که یک کاربر تقاضای صفحه ی ASP.Net دارد، IIS فرایند صفحه را به سیستم ASP.Net runtimeمحول می کند. ASP.Net runtime (زمان اجرا) صفحه ی.aspx را به نمونه ای از یک کلاس تبدیل می کند که به ارث برده شده از صفحه ی کلاس پایه ی Net framework می باشد.
1) Common Language Runtime یا CLR (زمان اجرای زبان مشترک) مدیریت حافظه، مدیریت استثنائات، اشکال زدایی، بررسی امنیت، اجرای نخ ها (thread execution) ازبین بردن تهدیدات و خطرات، اجرای کدها، کدهای ایمن و بازبینی و تایید صحت و همچنین فرایند ترجمه یا کامپایل را اجرا می کند. برنامهایی (کدهایی) که مستقیما توسط CLR مدیریت می شوند، برنامه های مدیریت شده نامیده می شوند. هنگامی که یک کد مدیریت شده کامپایل می شود، کامپایلر (compiler) source code را به کد زبان میانی مشترک مستقل از CPU ((IL تبدیل می کند. یک (کامپایل پویا یا ترجمه ی درجا) Just in time compiler (JIT) کد IL را به کدnative (بومی) تبدیل می کند که ویژه ی CPU می باشد.
2).Net Framework Class Library شامل کتابخانه ای غنی و وسیع از typeها است که امکان و قابلیت بارها استفاده از آن ها (library of reusable types) وجود دارد. کلاس ها، ساختارها، رابط ها (interfaces) و مقادیر شمارشی (enumerated values) که جمعاً نوع (type) نامیده می شوند.
3) Common Language Specification(مشخصات زبان مشترک) شامل مشخصاتی برای زبان های پشتیبانی شده تحت .NET و پیاده سازی یکپارچه سازی زبان (language integration) می باشد