آنچه در این صفحه می خوانید:
معرفی ASP.Net
Active Server Pages (صفحات سرور فعال) به اختصار ASP، زبان برنامه نویسی است که توسط شرکت مایکروسافت ایجاد شد. اما در حال حاضر این زبان منسوخ شده و جایگاه خود را به زبان اسکریپت نویسی ASP.NET داده است. ASP.NET در حقیقت، فناوری برنامه نویسی وب با بهره گیری از دات نت می باشد. همچنین در طراحی سایت با بهره گیری از ASP.NET، وب ماتریکس برای صفحات وب و Web Developer برای MVC و وب فرم ها به کار می رود. فایل های ASP.NET معمولا در ویژوال بیسیک یا سی شارپ نوشته می شوند. زمانی که مرورگر فایل ASP.NET را درخواست می کند، ابتدا موتور ASP.NET فایل را خوانده، سپس اسکریپت را در فایل اجرا می کند و در آخر نتیجه را به شکل زبان اچ تی ام ال ساده به مرورگر باز می گرداند. ASP.NET در طراحی سایت تکنولوژی های سرور صفحات وب، کنترل کننده فرم های نمایش و فرم های وب را پوشش می دهد.
ASP.NET یک فریمورک برنامه وب سمت سرور اوپن سورس که برای توسعه وب ایجاد شده است. ASP.NET به برنامه نویسان اجازه می دهد تا وب سایت ها، برنامه ها و سرویس های پویا بسازند. نخستین بار در ژانویه 2002 با نسخه 1.0 از NET Framework. منتشر شد و جانشین فناوری (ASP) مایکروسافت است. ASP.NET بر روی Common Language Runtime ساخته شده است و به برنامه نویسان این امکان را می دهد تا کد ASP.NET را با استفاده از هر زبان NET. پشتیبانی کنند.
جانشین آن نیز دات نت کور (NET Core.) است. دات نت کور (NET Core.) یک پیاده سازی مجدد از ASP.NET به عنوان فریمورک وب مدولار، همراه با فریمورک های دیگر مانند Entity Framework است. این فریمورک جدید از سیستم عامل اوپن سورس NET. استفاده کرده و کراس پلتفرم است. ASP.NET MVC، ASP.NET Web API و ASP.NET Web Pages در یک MVC 6 یکپارچه شده اند.
پسوند های ASP.NET
- فایل های ASP کلاسیک دارای پسوند فایل asp.
- فایل هایNET دارای پسوند فایل aspx.
- فایل هایNET با ترکیب #Razor C دارای پسوند فایل cshtml.
- فایل های NET با ترکیب Razor VB دارای پسوند فایلvbhtml.
IIS چیست؟
Internet Information Services یا (IIS، سرویس اطلاعات اینترنتی) یک نرم افزار وب سرور قابل توسعه است که توسط مایکروسافت برای استفاده در خانواده Windows NT ایجاد شده است. IIS از HTTP، HTTP / 2، HTTPS، FTP، FTPS، SMTP و NNTP پشتیبانی می کند.
در IIS 6.0 و پایین تر، صفحاتی که با استفاده از نسخه های مختلف فریمورک ASP نوشته شده اند، نمی توانند حالت نشست را بدون استفاده از کتابخانه های شخص ثالث به اشتراک بگذارند. این مورد برای برنامه های ASP.NET و ASP که روی IIS 7 در کنار یکدیگر اجرا می شوند اعمال نمی شود. با IIS 7.0، ماژول ها ممکن است در یک خط ارتباطی یکپارچه اجرا شوند که به ماژول های نوشته شده به هر زبان اجازه می دهد برای هر درخواست اجرا شوند.
IIS 7.0 و بالاتر ران تایم ASP.NET را با وب سرور اصلی ادغام می کند، یک خط ارتباطی پردازش درخواست واحد را ارائه می دهد که در معرض اجزای نیتیو و مدیریت شده است و به عنوان ماژول شناخته می شوند. بسیاری از مزایای ادغام شامل موارد زیر است:
- اجازه می دهد سرویس های ارائه شده توسط ماژول های نیتیو و مدیریت شده برای همه درخواست ها، صرف نظر از کنترل کننده، اعمال شوند. به عنوان مثال، تأیید اعتبار فرم های مدیریت شده می تواند برای همه مطالب، از جمله صفحات ASP و CGI ها و فایل های ثابت استفاده شود.
- توانمندسازی مولفه های ASP.NET برای ارائه کارکردهایی که قبلاً به دلیل قرارگیری در خط ارتباطی سرور برای آنها در دسترس نبود. به عنوان مثال، یک ماژول مدیریت شده که قابلیت بازنویسی درخواست را ارائه می دهد، می تواند درخواست را قبل از هر پردازش سرور، از جمله تأیید اعتبار، دوباره بنویسد.
- یک مکان واحد برای پیاده سازی، پیکربندی، نظارت و پشتیبانی از ویژگی های سرور مانند پیکربندی نگاشت واحد ماژول و کنترل کننده، پیکربندی خطاهای سفارشی منفرد، پیکربندی مجوز تنها URL.
ویژگی های ASP.NET
بیایید برخی از ویژگی های اصلی ASP.NET را با جزئیات ببینیم تا یک برنامه بهتر ایجاد کنیم.
- عملکرد بالا
عملکرد همیشه یک ویژگی مهم برای هر یک از برنامه ها یا نرم افزارها است. با توجه به وب سرور ASP.NET Core و Kestrel، سریعترین فریمورک برنامه وب موجود در بازار است. همچنین، از مزیت مدل های برنامه نویسی ناهمزمان برخوردار است. همه موارد دیگر مانند پایتون، جاوا و پی اچ پی از یک مفسر استفاده می کنند. با این حال، کامپایلرها در مقایسه با مفسر سریعتر هستند. کامپایلرها همه کدها را یکجا می گیرند و کامپایل می کنند. به دلیل استفاده ASP.NET از فناوری مبتنی بر کامپایلر، سریع است.
- کراس پلتفرم و پشتیبانی کانتینر
ASP.NET کراس پلتفرم است، به این معنی که از ویندوز، مک و لینوکس پشتیبانی می کند. بنابراین اگر برنامه ASP.NET را ایجاد کنیم، می توانیم مستقیماً آن را در این سیستم عامل ها مستقر کنیم.
- محیط های توسعه غنی
اگر در حال ایجاد برنامه هستید، از IDE یعنی ویژوال استودیو (Visual Studio) استفاده خواهید کرد. این یک محیط توسعه غنی فراهم می کند که به وسیله آن می توانیم به راحتی اجزای سازنده (دکمه های رادیویی، کادرهای تأیید و غیره) را کشیده و رها کرده و برنامه ایجاد کنیم.
- زبان مستقل
این فریمورک از زبان مستقل است و توسعه دهندگان می توانند از زبان های مختلف مانند سی شارپ استفاده کنند. بنابراین برای یک توسعه دهنده آسان است که برنامه خود را با زبانی که می داند انجام دهد. ما می توانیم با استفاده از هر یک از زبان ها یک برنامه وب پویا ایجاد کنیم.
- پشتیبانی از وب سوکت
با سوکت به طور معمول می توانیم برنامه های سرویس گیرنده سرور مبتنی بر وب ایجاد کنیم. این ارتباطات رفت و برگشت مرورگر را فراهم می کند.
- فیلترهای اکشن
NET از ویژگی بسیار خوبی پشتیبانی می کند که فیلترهای ACTION نام دارد. این فیلترها برای پیاده سازی خطا، مجوز، حافظه پنهان یا هر منطق سفارشی که می خواهیم اجرا کنیم، استفاده می شوند. برای پیاده سازی این منطق از فیلترهای اکشن استفاده می شود.
- جهانی سازی و بومی سازی
ما میزبان برنامه وبی هستیم که از هر جای جهان قابل دسترس است. بنابراین زبان، فرمت تاریخ و زمان، فرمت عدد، واحد پول باید برای منطقه یا کشورهای مختلف متفاوت باشد. ASP.NET از جهانی سازی پشتیبانی می کند تا کلاینت ها یا مردم کشورهای مختلف درک کنند و آنها نیز بتوانند به این برنامه دسترسی پیدا کنند. ASP.NET با کمک سورس فایل ها برنامه ما را برای زبان های مختلف سفارشی می کند. این فایل ها به عنوان مخزن مرکزی عمل می کنند که همه متن ها در آن قرار می گیرند.
- امنیت
ASP.NET همانطور که از فریمورک دات نت پشتیبانی می کند، امنیت برنامه ما را نیز فراهم می کند. برنامه ها دارای هویت فردی هستند، بنابراین قبل از اجرا، دات نت هویت آن اشیا را بررسی می کند. همچنین امنیت سیستم عامل را بررسی می کند. با توجه به پیکربندی قبل از برنامه و ویژگی احراز هویت داخلی ویندوز، برنامه توسعه یافته ما ایمن و ایمن است.
- پشتیبانی از انواع فرم HTML5
ASP.NET پشتیبانی از انواع فرم HTML5 را فراهم می کند. در آنجا کنترل های جدید در HTML5 مانند ایمیل، URL، شماره، RNGE، انتخاب کنندگان تاریخ (هفته، تاریخ، ماه، زمان، DateTime-محلی و غیره)، رنگ و جستجو در دسترس هستند.
- NET Web API
ASP.NET شامل وب فرم های ASP.NET است. سرویس های HTTP با کمک ASP.NET Web API به راحتی ساخته می شوند.
کاربرد ASP.NET
Web Forms
با استفاده از ASP.NET Web Forms، می توانید وب سایت های پویا را با استفاده از یک مدل آشنا با کشیدن و رها کردن، هدایت کنید. یک سطح طراحی و صدها کنترل و مؤلفه به شما امکان می دهد به سرعت سایت های پیشرفته و قدرتمند با محوریت UI با دسترسی به داده ها بسازید.
MVC
ASP.NET MVC یک روش قدرتمند و مبتنی بر الگو برای ایجاد وب سایت های پویا فراهم می کند. همچنین می توانید کنترل کاملی بر روی نشانه گذاری برای توسعه لذت بخش و چالاکی داشته باشید. ASP.NET MVC شامل بسیاری از ویژگی ها است که امکان توسعه سریع را برای ایجاد برنامه های پیشرفته و با استفاده از آخرین استانداردهای وب فراهم می کند.
ASP.NET Web Pages
ASP.NET Web Pages روشی سریع، قابل دسترس و سبک وزن برای ترکیب کد سرور با HTML برای ایجاد محتوای وب پویا است. می توانید به بانک های اطلاعاتی متصل شوید، ویدئو اضافه کنید، به سایت های شبکه های اجتماعی پیوند دهید و بسیاری از ویژگی های دیگر را نیز در آن ایجاد کنید.
فناوری های Real-time
ASP.NET SignalR یک کتابخانه جدید برای توسعه دهندگان ASP.NET است که توسعه عملکرد وب در Real-time را آسان تر می کند. SignalR امکان ارتباط دو طرفه بین سرور و کلاینت را فراهم می کند. سرورها می توانند محتوا را به محض دسترسی، فوراً به سمت کلاینت متصل انتقال دهند. SignalR از Sockets Web پشتیبانی می کند و به سایر تکنیک های سازگار برای مرورگرهای قدیمی باز می گردد. SignalR شامل API ها برای مدیریت اتصال، گروه بندی اتصالات و مجوزها می باشد.
ASP.NET Web API فریمورکی است که باعث می شود سرویس های HTTP که به طیف گسترده ای از کلاینت ها از جمله مرورگرها و دستگاه های تلفن همراه دسترسی دارند، ایجاد شوند. ASP.NET Web API یک بستر ایده آل برای ساختن برنامه های کاربردی RESTful در فریمورک NET. است.
برنامه ها و سایت های تلفن همراه
ASP.NET می تواند برنامه های تلفن همراه نیتیو و همچنین وب سایت های تلفن همراه با استفاده از فریمورک های طراحی رسپانسیو مانند Twitter Bootstrap، ایجاد کند. اگر در حال ساخت یک برنامه تلفن همراه نیتیو هستید، ایجاد یک API مبتنی بر جی سان (JSON) برای دسترسی به داده، تأیید اعتبار و اعلان ها برای برنامه خود ایجاد کنید. اگر در حال ساختن یک سایت موبایل رسپانسیو هستید، می توانید از هر فریمورک CSS یا یک سیستم موبایل قدرتمند مانند جی کوئری موبایل (jQuery Mobile) یا فریمورک Sencha و برنامه های کاربردی عالی موبایل را با فون گپ (PhoneGap) انتخاب کنید.
برنامه های تک صفحه ای
ASP.NET Single Page Application به شما کمک می کند تا برنامه هایی ایجاد کنید که شامل تعامل قابل توجهی در سمت کلاینت با استفاده از HTML 5، CSS 3 و JavaScript باشد. ویژوال استودیو شامل الگویی برای ساخت برنامه های تک صفحه ای با استفاده از ASP.NET است. علاوه بر الگوی SPA داخلی، فرمت های SPA ایجاد شده توسط جامعه برنامه نویسان نیز برای دانلود در دسترس هستند.
فریمورک های ASP.NET
ASP.NET سه فریمورک برای ایجاد برنامه های وب ارائه می دهد:
- Web Forms
- ASP.NET MVC
- ASP.NET Web Pages
هر سه فریمورک پایدار و بالغ هستند و می توانید با هر یک از آنها برنامه های کاربردی وب عالی ایجاد کنید. مهم نیست چه فریمورکی را انتخاب کنید، همه مزایا و ویژگی های ASP.NET را دارند. هر فریمورک یک سبک توسعه متفاوت را هدف قرار می دهد. موردی که شما انتخاب می کنید به ترکیبی از دارایی های برنامه نویسی شما (دانش، مهارت و تجربه توسعه)، نوع برنامه ای که ایجاد می کنید و رویکرد توسعه شما با آن راحت هستید بستگی دارد.
فریمورک های قابل توجه طراحی شده برای این پلتفرم شامل موارد زیر است:
- Base One Foundation Component Library یا (BFC) فریمورک RAD برای ساخت پایگاه داده NET. و برنامه های محاسباتی توزیع شده است.
- DotNetNuke یک سلوشن اوپن سورس است که هم فریمورک برنامه وب و هم سیستم مدیریت محتوا را فراهم می کند که امکان توسعه پذیری پیشرفته را از طریق ماژول ها و پوسته ها فراهم می کند.
- Castle MonoRail، یک فریمورک اوپن سورس MVC با مدل اجرایی مشابه روبی آن ریلز (Ruby On Rails) است. این فریمورک معمولاً با Castle ActiveRecord، یک لایه ORM ساخته شده روی NHibernate استفاده می شود.
تفاوت بین ASP و ASP.NET چیست؟
ASP.NET:
- فرم های وب ASP.Net دارای یک فایل پشت کد است که شامل تمام کد های مدیریت رویداد است.
- فرم های وب ASP.Net کلاس را که در پشت کد نوشته شده است به ارث می برند.
- فرم های وب ASP.Net از زبان برنامه نویسی تمام عیار استفاده می کنند.
- برنامه های وب ASP.Net قابل تنظیم هستند (web.config)
- قالب های وب ASP.Net می توانند از طریق بخشنامه ثبت نام @ از کنترل های سفارشی استفاده کنند.
- فرم های وب ASP.Net دارای ADO.Net هستند که از ادغام XML و ادغام داده ها از دو یا چند منبع داده پشتیبانی می کند.
ASP:
- ASP چنین امکاناتی برای جدا کردن منطق برنامه نویسی از طراحی ندارد.
- ASP مفهوم وراثت ندارد.
- صفحات ASP از زبان برنامه نویسی استفاده می کنند.
- برنامه های ASP نیستند.
- با ASP در دسترس نیست.
- در حالی که ASP دارای ADO است که یک شی COM ساده با امکانات محدود است.