![]() | |
| Програмер(и) | Мајкрософт |
|---|---|
| Прво издање | јануар 2002. |
| Стабилно издање | 4.0.30319.1 (.NET 4.0) / 12. април 2010. |
| Репозиторијум | github.com/aspnet/AspNetWebStack |
| Оперативни систем | Microsoft Windows |
| Платформа | .NET Framework |
| dotnet.microsoft.com/en-us/apps/aspnet | |
ASP.NET (скр. од Active Server Pages .NET) је веб технологија компаније Microsoft која омогућава програмерима да праве динамичке веб-сајтове, веб-апликације и веб-сервисе. Први пут је објављена у јануару 2002. године са верзијом 1.0 .NET Framework-а, па самим тиме ASP.NET је наследник ASP технологије. ASP.NET је изграђен на CLR-у (енгл. 'Common Language Runtime'), па тиме омогућава програмерима да пишу ASP.NET код у било ком програмском језику који подржава технологију .NET програмског оквира. ASP.NET SOAP проширење омогућава ASP.NET компонентама да обрађују SOAP поруке.
Историја#edit
Након издавања IIS-а 4.0 (енгл. 'Internet Information Services') 1997. године, Мајкрософт је почео истраживање могућности за нови модел веб апликација који би решио жалбе на ASP, посебно у погледу раздвајања презентације и садржаја и могућности за писање „чистог“ кода. Марк Андерс (енгл. 'Mark Anders'), менаџер IIS тима и Скот Гутри (енгл. 'Scott Guthrie'), који су се придружили Мајкрософту 1997. године након матурирања на универзитету Дјук имали су задатак да утврде које је најбоље решење. Почетни дизајн је развијен током два месеца од стране Андерс-а и Гутри-ја.
Првобитни прототип звао се XSP и био је написан помоћу Јаве, али ускоро је одлучено да се направи на новој платформи која је нудила објектно-оријентисано програмерско окружење и многе друге опције које Microsoft-ова Component Model Object платформа није подржавала.
Након преласка на Common Language Runtime, XSP је поново имплементиран у C#-у, и име му је промењено у ASP+, јер је у том тренутку нова платформа гледана као наследник ASP-а.
Марк Андерс је први демонстрирао ASP+ на ASP Connections конференцији у Финиксу, Аризона, 2. маја 2000. године. Бета верзија ASP+-а демонстрирана је 11. јула 2000. године у Орланду, Флорида, на конференцији „2000 Professional Developers Conference. Током уводне презентације Била Гејтса, компанија Fujistu је показала да је ASP+ у спрези са COBOL-ом и подршком за разне програмске језику као што је најављено, укључујући нови Visual Basic .NET и C Sharp, као и Python i Perl.
Када је .NET брендирање одлучено у другој половини 2000, такође је одлучено да се име ASP+ промени у ASP.NET. Марк Андерс је објаснио на MSDN Show-у да су желели да доведу име нове платформе у складу са остатком платформе који чини .NET Framework.
Након четири године развоја, као и низ бета издања 2000 и 2001. године, ASP.NET 1.0 је објављен 5. јануара 2002. као део верзије 1.0 .NET Framework-а. Чак и пре објављивања десетине књига је написано о ASP.NET-у. Мајкрософт је промовисао део своје платформе за веб сервисе. Гатри је постао менаџер за ASP.NET, и са развојем је наставио брзо, са верзијом 1.1 која је објављена 24. априла 2003. год као део Windows Server 2003 оперативног система. Издање 1.1 било је фокусирано на побољшање подршке ASP.NET-а за мобилне уређаје.
Карактеристике#edit
Страна#edit
.NET странице, званично познате као веб форме (енгл. 'Web Forms'), главни су камен темељац за развој апликација. Веб форме су фајлови са *.aspx екстензијом. Оне најчешће садрже статички XHTML, као и ознаке које дефинишу серверску страну веб контрола и корисничких контрола где програмери стављају све потребне статичке и динамичке садржаје странце. Поред тога, динамички код који се покреће на серверској страни може бити постављен у блоку <% динамички код %> који је сличан осталим технологијама за веб програмирање као што су PHP, JSP и ASP.
Имајте на уму да се код који се .NET код који се уноси у веб форму мало разликује од онога који се уноси у кодни фајл странице:
<%@ Page Language="C# " %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { vreme.Text = DateTime.Now.ToLongTimeString(); } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Sample page</title> </head> <body> <form id="form1" runat="server"> <div> Тачно време је: <asp:Label runat="server" id="vreme" /> </div> </form> </body> </html>
Кодни фајл#edit
Microsoft препоручује да се приликом коришћења динамичког кода код пише у страна.aspx.cs или страна.aspx.vb фајлу која се аутоматски креира приликом креирања веб форме. ASP.NET кодни фајл означава одступање од класичног ASP-а, који омогућава дизајнерима веб странице да изграде апликације на лакши начин. Самим тиме дизајнер може да се фокусира на дизајн и мање мора да брине да случајно не промени програмски код стране.
using System; namespace Default { public partial class primerKodnogFajla : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("Поздрав свете!"); } } }
У овом случају, Page_Load() метода се позива сваки пут када се страница затражи.
Корисничке контроле#edit
Корисничке контроле су секције страна који се регистроване и користе се као контроле у ASP.NET-у. Корисничке контроле се чувају у ASCX екстензији. Они су најчешће фајлови који садрже статички (X) HTML садржај, као и ознаке које дефинишу веб контроле које се извршавају на серверској страни. Корисничке контроле се компајлирају када се отвори страна која садржи ту контролу, а чувају се у меморији за касније захтеве. Ове контроле имају своје догађаје који се догађају током ASP.NET захтева. За разлику од ASP.NET веб форме (странице), корисничке контроле не могу се затражити независно већ једна страница мора садржати исту контролу.
Прилагођене контроле#edit
Програмери могу израдити прилагођене контроле за ASP.NET апликације. За разлику од корисничке контроле, оне се не налазе у ASCX фајлу већ свој код имају компајлиран у DLL фајлу. Такве контроле могу се користити у више веб апликација и Visual Studio пројекта (корисничке контроле немају ову особину). Помоћу „Register,, директиве, контрола се може учитати у страну. Пример је антиспам „програмче“ под именом reCAPTCHA.
Техника рендеровања#edit
ASP.NET користи користи композитну технику рендеровања. Током компилације, шаблон (.aspx) фајл се компајлира у иницијализациони код који гради контролно стабло које представља оригинални шаблон. Иницијализација код се комбинује са кориснички-написаним кодом (обично скупина више парцијалних класа) и резултат у класи специфичној за страну.
Стварни захтеви за странице су обрађени кроз неколико корака. Прво, током корака иницијализације, инстанца класе странице се креира и извршава се иницијализациони код. Ово даје почетно контролно стабло којим се сада може манипулисати помоћу метода странице и следећих корака. Сваки чвор у стаблу је контрола која је представљена као инстанца класе, код може да промени структуру стабла као и манипулисање својства/метода појединачних чворова. Током корака рендеровања посетилац се користи да посети сваки чвор у стаблу, тражећи сваки чвор да рендерује себе коришћењем методе посетиоца. Коначно, HTML резултат се шаље клијенту.
Након што се захтев обради, инстанца класе странице се одбацује као и цело контролно стабло. Ово је извор конфузије међу ASP.NET програмерима који се ослањају на чланове инстанце класе који се изгубе са сваке странице приликом захтева/одговора.
Управљање#edit
ASP.NET апликације се хостују помоћу веб сервера и приступа им се помоћу HTTP протокола (енгл. 'Hypertext Transfer Protocol').
Стање сесије#edit
Сесија на серверској страни је колекција кориснички-дефинисаних променљивих. Овим променљивама се приступа помоћу Session колекција, и она је јединствена за сваку сесију. Ова променљива може бити аутоматски уништена након одређеног времена неактивности иако се сесија још увек није завршила. Сесија на клијентској страни се одржава помоћу колачића или помоћу енкриптовања идентификационог броја сесије у URL-у.
Остало#edit
ASP.NET подржава колачиће, упитне стрингове (енгл. 'Query String') и многе друге технологије.
Шаблон#edit
Када је први пут објављен, ASP.NET-у је недостајао шаблон (енгл. 'Master page') који би могао бити приказиван на свим странама. Зато што је .NET Framework објектно оријентисан и дозвољава наслеђивање, многи програмери би желели да дефинишу нову базну класу која би наследила "System.Web.UI.Page" методе које рендерују HTML и омогућавају страницама и њиховим апликацијама наслеђивање из нове класе. Тиме је ASP.NET 2.0 представио концепт главне странице (енгл. 'Master page'), које омогућавају странице које се заснивају на шаблону. Веб апликација може садржати један или више шаблона. Ови шаблони имају ContentPlaceHolder контролу у коју се уноси динамички креиран садржај. Странице која користи тај шаблон да би у ContentPlaceHolder контролу унела одређени садржај мора такође садржи ту исту контролу. Шаблон не може бити самостално покренут тј. потребна му је веб форма.
Остали фајлови#edit
| Екстензија | Потребна верзија | Објашњења |
|---|---|---|
| asax | 1.0 | Global.asax, садржи методе који се покрећу приликом покретања, затварања, креирања сесије или завршетка сесије |
| ascx | 1.0 | произвољне корисничке контроле |
| ashx | 1.0 | произвољни HTTP handler-и. |
| asmx | 1.0 | веб сервис, од верзије 2.0 налази се у App Code фолдеру. |
| browser | 2.0 | подешавања за одређени веб-браузере |
| config | 1.0 | фајл који може подешавати сервер, написан је у XML формату |
| cs/vb | 1.0 | кодни фајл који је написан у Visual Basic-у или C#-у |
| dbml | 3.5 | LINQ to SQL фајл |
| master | 2.0 | фајл који садржи шаблон |
| resx | 1.0 | фајл са ресурсима |
| sitemap | 2.0 | конфигурациони фајл мапе сајта |
| skin | 2.0 | фајл за теме |
| svc | 3.0 | Windows Communication Foundation фајл |
| edmx | 3.5 | ADO.NET Entity Framework модел |
Структуре директоријума#edit
У принципу, ASP.NET структура директоријума може бити одређена подешавањима програмера. Имена специјалних директоријума су (само од верзије 2.0 па на даље):
- App_Browsers
- садржи дефиниције за одређене браузере
- App_Code
- садржи класе које је програмер креирао
- App_Data
- садржи базе података
- App_LocalResources
- садржи ресурсе за одређене стране
- App_GlobalResources
- садржи ресурсе за све стране на сајту
- App_WebReferences
- садржи фајлове за веб сервисе
- Bin
- садржи компајлирани код, најчешће DLL фајлове
Екстензије#edit
Microsoft је објавио неколико екстензија које могу проширити функционалности ASP.NET-а:
- ASP.NET AJAX
- екстензија са клијентске стране
- ASP.NET MVC Framework
- екстензија за ауторе ASP.NET страна које користе MVC архитектуру
Верзије#edit
| Датум | Верзија | Примедбе | Нове ASP.NET могућности |
|---|---|---|---|
| 16. јануар 2002 | 1.0 | Прва верзија објављена заједно са Visual Studio .NET | Објектно-оријентисане веб апликације Програмери нису принуђени да користе Server.CreateObject(...) Програмери могу да користе већ компајлиране кодове (DLL фајл) |
| 24. април 2003 | 1.1 | објављена заједно са Windows Server 2003-ом објављена заједно са Visual Studio .NET 2003 | Аутоматска валидација уноса |
| 7. новембар 2005 | 2.0 | објављено заједно са Visual Studio 2005, Visual Web Developer Express и SQL Server 2005 | Нове контроле за податке (GridView, FormView, DetailsView) Нове технике за приступ података (SqlDataSource, ObjectDataSource, XmlDataSource контроле) Навигација контролама Шаблон Контроле за пријављивање Теме Потпуна пре-компилација Нова техника локализације Подржава 64-битне процесоре |
| 21. новембар 2006 | 3.0 | Windows Presentation Foundation (WPF) Windows Workflow Foundation (WF) Windows Communication Foundation који може користити ASP.NET за сервисе хостовања Windows CardSpace који користи ASP.NET за пријављивање | |
| 19. новембар 2007 | 3.5 | Објављен са Visual Studio 2008 и Windows Server 2008 | Нове контроле за податке (ListView, DataPager) ASP.NET AJAX Windows Communication Foundation подршка за RSS, JSON, POX и Partial Trust Све .NET Framework 3.5 промене, као LINQ итд. |
| 11. август 2008 | 3.5 Service Pack 1 | Објављен са Visual Studio 2008 Service Pack 1 | Инкорпорација ASP.NET Dynamic Data Подршка за контролисање историја браузера у ASP.NET AJAX апликацијама Могућност за комбиновање више Javascript Нови именски простори System.Web.Abstractions и System.Web.Routing |
| 12. април 2010 | 4.0 | Објављен са Visual Studio 2010 | Паралелне екстензије са .NET Framework 4 могућностима |
Спољашње везе#edit
- Званични веб-сајт
- http://msdn.microsoft.com/en-us/aa336522.aspx - ASP.NET на MSDN-у
- http://www.codeproject.com/KB/aspnet/Whatis_New_ASP_Net_4.aspx Архивирано на веб-сајту Wayback Machine (25. децембар 2018) - Шта је ново у ASP.NET-у 4.0
This article is mirrored from “ASP.NET” on Српски Wikipedia, revision 31758522, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.
Synced with Wikipedia revision 31758522 · just now
