Пређи на садржај

ASP.NET

С Википедије, слободне енциклопедије
ASP.NET
Програмер(и)Мајкрософт
Прво издањејануар 2002.
Стабилно издање
4.0.30319.1 (.NET 4.0) /12. април2010.
РепозиторијумУреди на Википодацима
Оперативни систем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
иSQL Server 2005

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
  • ИнкорпорацијаASP.NET Dynamic Data
  • Подршка за контролисање историја браузера уASP.NET AJAXапликацијама
  • Могућност за комбиновање вишеJavascript
  • Нови именски простори System.Web.Abstractions и System.Web.Routing
12. април 2010 4.0 Објављен саVisual Studio 2010

Паралелне екстензије са.NET Framework 4могућностима

Спољашње везе

[уреди|уреди извор]