سلام دوستان گرامی ، با مجموعه آموزشها یی از asp درخدمت شماهستیم ،میخوام این platform  را به شما معرفی کنم . امید است که مفید باشه و برای طراحی ها تون از این پلت فرم بهره ببرید.

ASP.Net چیست؟

ASP.Net یک platform (بستر اجرای نرم افزار) ویژه ی توسعه ی وب می باشد که یک مدل برنامه نویسی ، یک زیرساخت نرم افزار جامع و سرویس های متنوعی برای ساخت نرم افزار های تحت وب کارامد و قدرتمند برای PC  همانند موبایل ها ارائه می دهد. ASP.Net علاوه بر پروتکول HTTP از دستورات و سیاست های HTTP برای تنظیم یک ارتباط و همکاری دوطرفه از مرورگر به سرور استفاده می کند.

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 می باشد.

مدل فرم های وب(web form model)    ASP.Net:

فرمهای وب 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 یا تگ هایی مانند  <form> و  <input>

کنترل های سرور که به توسعه رابط پیچیده ی کاربر کمک می کند، برای مثال کنترل calendar یا کنترل Gridview.

ASP.Net  فن آوری است که تحت.Net Framework کار می کند که شامل همه ویژگی های مربوط به وب می شود..Net Framework از سلسه مراتب شئ گرایی ساخته شده است. نرم افزار وب ASP.Net  از صفحات ساخته شده است. وقتی که یک کاربر تقاضای صفحه ی ASP.Net  دارد، IIS فرایند صفحه را به سیستم   ASP.Net runtimeمحول می کند.

ASP.Net runtime (زمان اجرا) صفحه ی.aspx را به نمونه ای از یک کلاس تبدیل می کند که به ارث برده شده از صفحه ی کلاس پایه ی Net framework  می باشد.

۱) Common Language Runtime  یا  CLR (زمان اجرای زبان مشترک)

مدیریت حافظه، مدیریت استثنائات، اشکال زدایی، بررسی امنیت، اجرای نخ ها (thread execution) ازبین بردن تهدیدات و خطرات، اجرای کدها، کدهای ایمن و بازبینی و تایید صحت و همچنین فرایند ترجمه یا کامپایل را اجرا می کند. برنامهایی (کدهایی) که مستقیما توسط CLR  مدیریت می شوند، برنامه های مدیریت شده نامیده می شوند. هنگامی که یک کد مدیریت شده کامپایل می شود، کامپایلر (compiler) source code را به کد زبان میانی مشترک مستقل از CPU ((IL تبدیل می کند. یک  (کامپایل پویا یا ترجمه ی درجا) Just in time compiler (JIT) کد IL را به کدnative  (بومی) تبدیل می کند که ویژه ی CPU می باشد.

۲).Net Framework Class Library

شامل کتابخانه ای غنی و وسیع از typeها است که امکان و قابلیت بارها استفاده از آن ها (library of reusable types) وجود دارد. کلاس ها، ساختارها، رابط ها (interfaces) و مقادیر شمارشی (enumerated values) که جمعاً نوع (type) نامیده می شوند.

۳)  Common Language Specification(مشخصات زبان مشترک)

شامل مشخصاتی برای زبان های پشتیبانی شده تحت  .NET و پیاده سازی یکپارچه سازی زبان (language integration) می باشد

۴) Common Type System (سیستم نوع مشترک)

راهنمایی ها و دستور العمل هایی برای تعریف / اعلان، استفاده و اجرا typeها در  runtime(زمان اجرا) و ارتباط متقابل زبان  فراهم می کند.

۵)Metadata  و  Assemblies

Metadata داده های دودویی (binary information) هستند که یا در فایل های اجرایی انتقال پذیر (Portable executable)  و یا در حافظه ذخیره می شوند. Assembly واحد منطقی می باشد که شامل assembly manifest، کد IL،  مجموعه ای از منابع مانند فایل های تصویری و غیره میباشد.

۶) Windows Forms (فرم های ویندوز)

فرم های ویندوز دربردارنده ی  نمایش گرافیکی (graphical representation) کلیه ی پنجره (window) هایی است که در برنامه ی کاربردی (app) نشان داده می شوند.

۷)  ASP.Net و  ASP.Net AJAX

ASP.Net مدل توسعه و برنامه نویسی تحت وب (web development model) و AJAX شاخه ی از (یا افزونه ای برای) ASP.Net برای توسعه و اجرای قابلیت ها و امکانات AJAX  می باشد.  ASP.Net AJAXشامل کامپوننت هایی است که به برنامه نویس تحت وب اجازه می دهد که داده را در یک وب سایت بدون نیاز به بارگذاری مجدد در صفحه آپدیت و بروز رسانی کند.

۸) ADO.Net

فن آوری می باشد که برای کار با داده و پایگاه داده استفاده می شود. ADO.Net دسترسی به منابع دیتا مانند سرور SQL، OLE DB, XML و غیره را فراهم می کند. این فن آوری امکان اتصال با منابع دیتا را برای بازیابی، دستکاری و آپدیت کردن دیتا فراهم می کند.

۹) Windows Workflow Foundation (WF)

به ساختن workflow applicationها (برنامه هایی که به پیگیری و مدیریت تمام فعالیت ها از ابتدا تا انتهای پروژه کمک می کنند) در ویندوز کمک می کند، که شامل activities، runtime workflow ، designer workflow و یک rule engine می باشد.

۱۰) Windows Presentation Foundation

تمایزی بین رابط کاربری (user interface) و منطق تجارت ایجاد می کند و با استفاده از داکیومنت ها، media، گرافیک های دو و سه بعدی، انیمیشن و غیره به ساخت و توسعه ی رابط های کاربری خیره کننده ی بصری کمک می کند.

۱۱) Windows CardSpace

امکان دسترسی به منابع و به اشتراک گذاری اطلاعات شخصی به صورت امن و همراه با ایمنی کامل را در محیط اینترنت فراهم می آورد.

۱۲) Windows Communication Foundation (WCF)

فن آوری می باشد که برای ساخت و اجرای سیستم های متصل استفاده می شود.

۱۳) LINQ

قابلیت های data querying (پرسمان از داده) را با استفاده از سینتکسی (دستور نحوی) که شبیه به سینتکس query language SQL (زبان پرسمان از داده ی SQL) قدیمی است به زبان های (تحت).Net انتقال می دهد (اضافه می کند).

اجزای.Net Framework 3.5

قبل از رفتن به قسمت بعدی از Visual Studio.Net اجازه دهید نگاهی به کامپوننت های.Net framework 3.5. داشته باشیم. جدول زیر کامپوننت های.Net framework 3.5. و کاری که انجام می دهند را توضیح می دهد.

Common type system : زیرساخت زبان مشترک مشخصات و استاندارد بازی‌است که توسط مایکروسافت توسعه‌داده شده و توسط بنیادهای ایزو و ECMA استانداردسازی شده‌ و کدهای قابل اجرا و محیط اجرایی زمان اجرا را تبیین می کند. این مشخصه ها در واقع محیطی را تعریف می کند که اجازه می دهند بدون توجه به سیستم عامل اجرا کنندۀ نرم افزار، بتوان زبانهای سطح بالای گوناگون را بدون نیاز به بازنویسی برای یک سیستم عامل خاص با یک ساختوارۀ یا معماری مشخص مورد استفاده قرار داد. نمونه هایی از زبانهایی که زیرساخت زبان مشترک را پیاده سازی می کنند عبارتند از چارچوب دات نت و زبان آزاد و متن‌باز مونو Mono و زبان دات نت قابل حمل Portable.NET.