ASP.NET
Програмер(и) | Мајкрософт |
---|---|
Прво издање | јануар 2002. |
Стабилно издање | |
Репозиторијум | |
Оперативни систем | Microsoft Windows |
Платформа | .NET Framework |
Веб-сајт | www.asp.net |
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.NETSOAPпроширење омогућава ASP.NET компонентама да обрађујуSOAPпоруке.
Историја
[уреди|уреди извор]Након издавања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 iPerl.
Када је.NETбрендирање одлучено у другој половини 2000, такође је одлучено да се име ASP+ промени у ASP.NET. Марк Андерс је објаснио наMSDNShow-у да су желели да доведу име нове платформе у складу са остатком платформе који чини.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-а замобилне уређаје.
Карактеристике
[уреди|уреди извор]Страна
[уреди|уреди извор].NET странице, званично познате каовеб форме(енгл.Web Forms), главни су камен темељац за развојапликација.Веб форме суфајловиса *.aspxекстензијом.Оне најчешће садрже статичкиXHTML,као и ознаке које дефинишусерверску странувеб контролаи корисничких контрола гдепрограмеристављају све потребне статичке и динамичке садржаје странце. Поред тога, динамички код који се покреће на серверској страни може бити постављен у блоку <% динамички код %> који је сличан осталим технологијама завеб програмирањекао што суPHP,JSPиASP.
Имајте на уму да се код који се.NETкод који се уноси у веб форму мало разликује од онога који се уноси у кодни фајл странице:
<%@PageLanguage="C#"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<scriptrunat="server">
protectedvoidPage_Load(objectsender,EventArgse)
{
vreme.Text=DateTime.Now.ToLongTimeString();
}
</script>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>Samplepage</title>
</head>
<body>
<formid="form1"runat="server">
<div>
Тачновремеје:<asp:Labelrunat="server"id="vreme"/>
</div>
</form>
</body>
</html>
Кодни фајл
[уреди|уреди извор]Microsoftпрепоручује да се приликом коришћењадинамичког кодакод пише у страна.aspx.cs или страна.aspx.vbфајлукоја се аутоматски креира приликом креирања веб форме. ASP.NET кодни фајл означава одступање од класичногASP-а, који омогућава дизајнеримавеб страницеда изграде апликације на лакши начин. Самим тимедизајнерможе да се фокусира надизајни мање мора да брине да случајно не променипрограмски кодстране.
usingSystem;
namespaceDefault
{
publicpartialclassprimerKodnogFajla:System.Web.UI.Page{
protectedvoidPage_Load(objectsender,EventArgse){
Response.Write("Поздрав свете!");
}
}
}
У овом случају, Page_Load() метода се позива сваки пут када се страница затражи.
Корисничке контроле
[уреди|уреди извор]Корисничке контроле су секције страна који се регистроване и користе се као контроле у ASP.NET-у. Корисничке контроле се чувају у ASCX екстензији. Они су најчешће фајлови који садрже статички(X)HTMLсадржај, као и ознаке које дефинишу веб контроле које се извршавају насерверској страни.Корисничке контроле секомпајлирајукада се отвори страна која садржи ту контролу, а чувају се умеморијиза касније захтеве. Ове контроле имају своје догађаје који се догађају током ASP.NET захтева. За разлику од ASP.NET веб форме (странице), корисничке контроле не могу се затражити независно већ једна страница мора садржати исту контролу.
Прилагођене контроле
[уреди|уреди извор]Програмеримогу израдити прилагођене контроле за ASP.NET апликације. За разлику од корисничке контроле, оне се не налате у ASCX фајлу већ свој код имају компајлиран у DLL фајлу. Такве контроле могу се користити у вишевеб апликацијаиVisual Studioпројекта (корисничке контроле немају ову особину). Помоћу „Register,, директиве, контрола се може учитати у страну. Пример је антиспам „програмче “под именомreCAPTCHA.
Техника рендеровања
[уреди|уреди извор]ASP.NET користи користи композитну технику рендеровања. Током компиралиције, шаблон (.aspx) фајл секомпајлирау иницијализациони код који гради контролно стабло које представља оригинални шаблон.Иницијализацијакод се комбијнује са кориснички-написаним кодом (обично скупина вишепарцијалних класа) и резултат у класи спицифичној за страну.
Стварни захтеви за странице су обрађени кроз неколико корака. Прво, током корака иницијализације, инстанца класе странице се креира и извршава се иницијализациони код. Ово даје почетно контролно стабло којим се сада може манипулисати помоћу метода странице и следећих корака. Сваки чвор у стаблу је контрола која је представљена као инстанца класе, код може да промени структуру стабла као и манипулисање својства/метода појединачних чворова. Током корака рендеровања посетилац се користи да посети сваки чвор у стаблу, тражећи сваки чвор да рендерује себе коришћењем методе посетиоца. Коначно,HTMLрезултат се шаље клиенту.
Након што се захтев обради,инстанцакласе странице се одбацује као и цело контролно стабло. Ово је извор конфузије међу ASP.NETпрограмеримакоји се ослањају на чланове инстанце класе који се изгубе са сваке странице приликом захтева/одговора.
Управљање
[уреди|уреди извор]ASP.NET апликације сехостујупомоћувеб сервераи приступа им се помоћуHTTPпротокола (енгл.Hypertext Transfer Protocol).
Стање сесије
[уреди|уреди извор]Сесија на серверској страни је колекција кориснички-дефинисанихпроменљивих.Овим променљивама се приступа помоћуSession колекција,и она је јединствена за сваку сесију. Ова променљива може бити аутоматски уништена након одређеног времена неактивности иако се сесија још увек није завршила. Сесија на клиентској страни се одржава помоћу колачића или помоћуенкриптовањаидентификационог броја сесије уURL-у.
Остало
[уреди|уреди извор]ASP.NET подржава колачиће,упитне стрингове(енгл.Query String) и многе друге технологије.
Шаблон
[уреди|уреди извор]Када је први пут објављен, ASP.NET-у је недостајаошаблон(енгл.Master page) који би могао бити приказиван на свим странама. Зато што је.NET Frameworkобјектно оријентисани дозвољаванаслеђивање,многипрограмериби желели да дефинишу новубазну класукоја би наследила "System.Web.UI.Page" методе које рендерујуHTMLи омогућавају страницама и њиховим апликацијама наслеђивање из нове класе. Тиме је ASP.NET 2.0 представио концепт главне странице (енгл.Master page), које омогућавају странице које се заснивају нашаблону.Веб апликација може садржати један или више шаблона. Ови шаблони имајуContentPlaceHolderконтролу у коју се уностидинамички креиран садржај.Странице која користи тај шаблон да би уContentPlaceHolderконтролу унела одређени садржај мора такође садржи ту исту контролу. Шаблон не може бити самостално покренут тј. потребна му јевеб форма.
Остали фајлови
[уреди|уреди извор]Екстензија | Потребна верзија | Објашњења |
---|---|---|
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модел |
Структуре директоријума
[уреди|уреди извор]У принципу, ASP.NET структура директоријума може бити одређена подешавањима програмера. Имена специјалних директоријума су (само од верзије 2.0 па на даље):
- App_Browsers
- садржи дефиниције за одређене браузере
- App_Code
- садржи класе које је програмер креирао
- App_Data
- садржи базе података
- App_LocalResources
- садржи ресурсе за одређене стране
- App_GlobalResources
- садржи ресурсе за све стране на сајту
- App_WebReferences
- садржи фајлове за веб сервисе
- Bin
- садржи компајлирани код, најчешће DLL фајлове
Екстензије
[уреди|уреди извор]Microsoft је објавио неколико екстензија које могу проширити функционалности ASP.NET-а:
- ASP.NET AJAX
- екстензија са клиентске стране
- ASP.NET MVC Framework
- екстензија за ауторе ASP.NET страна које користеMVC архитектуру
Верзије
[уреди|уреди извор]Датум | Верзија | Примедбе | Нове ASP.NET могућности |
---|---|---|---|
16. јануар 2002 | 1.0 | Прва верзија
објављена заједно саVisual Studio.NET |
|
24. април 2003 | 1.1 | објављена заједно саWindows Server 2003-ом
објављена заједно саVisual Studio.NET 2003 |
|
7. новембар 2005 | 2.0 |
објављено заједно саVisual Studio 2005,Visual Web Developer Express |
|
21. новембар 2006 | 3.0 |
| |
19. новембар 2007 | 3.5 | Објављен саVisual Studio 2008иWindows Server 2008 |
|
11. август 2008 | 3.5 Service Pack 1 | Објављен са Visual Studio 2008 Service Pack 1 |
|
12. април 2010 | 4.0 | Објављен саVisual Studio 2010 |
Паралелне екстензије са.NET Framework 4могућностима |
Спољашње везе
[уреди|уреди извор]- Званични веб-сајт
- 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