Quire
ASP.NET
ASP.NET
Програмер(и)Мајкрософт
Прво издањејануар 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

ЕкстензијаПотребна верзијаОбјашњења
asax1.0Global.asax, садржи методе који се покрећу приликом покретања, затварања, креирања сесије или завршетка сесије
ascx1.0произвољне корисничке контроле
ashx1.0произвољни HTTP handler-и.
asmx1.0веб сервис, од верзије 2.0 налази се у App Code фолдеру.
browser2.0подешавања за одређени веб-браузере
config1.0фајл који може подешавати сервер, написан је у XML формату
cs/vb1.0кодни фајл који је написан у Visual Basic-у или C#-у
dbml3.5LINQ to SQL фајл
master2.0фајл који садржи шаблон
resx1.0фајл са ресурсима
sitemap2.0конфигурациони фајл мапе сајта
skin2.0фајл за теме
svc3.0Windows Communication Foundation фајл
edmx3.5ADO.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. јануар 20021.0Прва верзија
објављена заједно са Visual Studio .NET
Објектно-оријентисане веб апликације
Програмери нису принуђени да користе Server.CreateObject(...)
Програмери могу да користе већ компајлиране кодове (DLL фајл)
24. април 20031.1објављена заједно са Windows Server 2003-ом
објављена заједно са Visual Studio .NET 2003
Аутоматска валидација уноса
7. новембар 20052.0објављено заједно са Visual Studio 2005, Visual Web Developer Express
и SQL Server 2005
Нове контроле за податке (GridView, FormView, DetailsView)
Нове технике за приступ података (SqlDataSource, ObjectDataSource, XmlDataSource контроле)
Навигација контролама
Шаблон
Контроле за пријављивање
Теме
Потпуна пре-компилација
Нова техника локализације
Подржава 64-битне процесоре
21. новембар 20063.0Windows Presentation Foundation (WPF)
Windows Workflow Foundation (WF)
Windows Communication Foundation који може користити ASP.NET за сервисе хостовања
Windows CardSpace који користи ASP.NET за пријављивање
19. новембар 20073.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. август 20083.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. април 20104.0Објављен са Visual Studio 2010Паралелне екстензије са .NET Framework 4 могућностима

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

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