aspNet uvod

download aspNet uvod

of 34

  • date post

    07-Dec-2015
  • Category

    Documents

  • view

    229
  • download

    1

Embed Size (px)

description

uvod

Transcript of aspNet uvod

  • ASP.NET technologyASP.NET tehnologija je namenjena web serverskom programiranjuPostoje razne alternativne tehnologije za web serversko programiranje kao to je php, cgi, jsp i drugeZa klijentsko web programiranje se koristi JavaScriptASP.NET je naslednik stare ASP tehnologije gde se programski skript meao sa html kod-om To je mogue i u ASP.NET-u, ali je ovde osnovna ideja sasvim drugaijaASP.NET omoguava da serversko programiranje bude veoma slino desk top programiranju

  • Poreenje - slinosti i razlike web serverskog i desktop programiranjaOsnovni koncept kod obe vrste programiranja je komunikacija sa korisnikom preko vizuelnog grafikog interface-aLogika aplikacije je u oba sluaja odvojena od grafikog interface-a kod desk top wpf aplikacije se koriste dva razliita file-a *.xaml koji definie izgled forme i *.xaml.cs koji definie logiku aplikacijeU ASP.NET-u je takoe odvojena definicija grafikog prikaza u *.aspx file-u, dok je logika aplikacije u *.aspx.cs file-u

  • Poreenje - slinosti i razlike web serverskog i desktop programiranjaOsnovna razlika se sastoji u tome to je web serverska aplikacija podeljena u dva dela koja se fiziki nalaze na dva razliita raunara (iako u specijalnom sluaju mogu biti i na istom) Za grafiki prikaz se koristi poseban klijentski program web browser, kome podatke alje udaljeni web serverKod web serverskog programiranja, web server vri dve osnovne funkcije alje podatke za prikaz grafikog interface-a html kod i izvrava program koji definie logiku aplikacije

  • Poreenje - slinosti i razlike web serverskog i desktop programiranjaNajbitnija razlika je u komunikaciji korisnika i aplikacije koja definie logikuKomunikacija sa web serverom se vri preko preko mree putem http protokola kojim se prenosi html kodhttp protokol nema stanja, tako da se bez preduzimanja posebnih mera na strani servera ne vri nikakvo pamenje prethodnog stanja u komunikaciji korisnika sa serveromDalje, sama mrea preko koje se vri komunikacija ima ograniene resurse i u principu je nepouzdana to dovodi do raznih drugih problema

  • Poreenje - slinosti i razlike web serverskog i desktop programiranjaServersko programiranje je sutinski razliito od programiranja desk top aplikacije koja je samo za jednog korisnika, dok server treba i moe da opsluuje vie korisnika istovremeno to vie to boljeRazliite korisnike koji istovremeno trae uslugu web servera treba efikasno razlikovati na neki nain, a to http protokol ne omoguava, tako da web server treba da odrava stanja raznih korisnikaPri tome se angauju resursi servera bez garancije da e korisnik uopte nastaviti dalju komunikaciju

  • ASP.NET - karakteristikePodrava httpEfikasno odrava stanja klijenataObezbeuje alate za lak razvoj web aplikacijaAplikacijama se pristupa preko bilo kog standardnog savremenog web browser-aSkalabilne aplikacije sa kratkim vremenom odziva Aplikacije se izvravaju na IIS (Internet Information Server) u Stara ASP tehnologija se bazirala na skriptnom kodu (Basic) koji se kombinovao sa html kod-om u istom file-u, kao php

  • ASP.NET - karakteristikeMeanje html koda i ASP skript-a je loe i oteava razvoj web aplikacijeASP.NET omoguava sutinsko razdvajanje vizuelnog izgleda aplikacije - *.aspx file od koda logike aplikacije - *.aspc.cs fileASP.NET se moe programirati u nekom od .NET jezika C#, VisualBasic i JScript, dok C++ nije na raspolaganju za programiranje ASP.NET aplikacijaPrevedeni kod se keira na serveru radi poboljanja performansi brzine radaServerske kontrole koje omoguavaju lak pristup i programiranje na serveru a pre slanja klijentu se prevode u standardni html kod

  • ASP.NET - karakteristikeOdravanje stanja korisnika preko kolaia - cookies kod klijenta ili na serveru preko SQL serveraCentralizovano upravljanje izgledom aplikacije korienje tema themes pored standardnih naina korienjem kaskadnih stilova CSSKontrole za povezivanje sa izvorima podataka DLINQ, SQL server, Access, XMLAJAX (Asynchronous JavaScript and XML) aplikacije koje su efikasne u pogledu komunikacije sa korisnikom i generisanja mrenog saobraaja izbegavanjem slanja itave web strane, umesto ega se alju samo neophodni podaci samo oni koji su promenjeni

  • ASP.NET - karakteristikePodrka autentifikaciji (utvrivanje identiteta) i autorizaciji (prava identifikovanih korisnika)Podrka za administraciju i konfiguraciju web site-a

  • ASP.NET web aplikacijaWeb forma se nalazi u *.aspx file-u koji sadri html kod kao i neke specifine .NET tag-oveUz svaku web formu se moe nalaziti i pratei *.aspx.cs file koji definie poslovnu logiku pozadinski kod web formeweb.config file u XML formatu koji sadri podatke od znaaja za konfiguraciju web site-a aplikacijeASP.NET aplikacija se veoma jednostavno kreira iz VS-a U VS 2008 nije neophodno da IIS bude instaliran, jer sam VS obezbeuje pomoni web server za testiranje aplikacije

  • ASP.NET web aplikacijaVS prua mogunost kreiranja ASP.NET web site-a kao i ASP.NET web application aplikacijeU jednostavnijim i manje zahtevnim sluajevima se moe kreirati web site kod koga nema projektnog file-a, i koji je organizovan prema strukturi foldera gde svi file-ovi pripadaju projektuProjekat tipa Web aplikacije slui za sloenije sluajeve gde se projektnim file-om odreuje pripadnost file-ova projekta, i gde se prevode samo file-ovi eksplicitno navedeni u projektnom file-uU solution-u moe biti vie web aplikacija

  • New web site

  • Kod *.aspx stranePage direktivaDeklaracija html verzijeHtml xmlns

  • Kod *.aspx strane

  • Apsolutno pozicioniranje kontrola

  • Izgled web forme

  • Podeavanja web site-aDebug-ovanje se moe podesiti iz VS-a, ali takoe i iz web.config file-a sa:

    ...

    Debug-ovanje je korisno u toku razvoja projekta, ali ga treba iskljuiti u fazi eksploatacije

  • Deploy ing postavljanje web site-aWeb site razvijen u VS korienjem ugraenog pomonog web site-a u VS se jednostavno moe prebaciti na web site gde e se koristitiZa postavljanje web site-a se koristi alat koji se pokree iz menu-a Website / Copy web site...Odredite razvijenog site-a moe biti web site na lokalnom raunaru, kao i udaljeni web site

  • Serverske kontrole asp:

  • C# kod pozadinski fileusing System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Xml.Linq;

    public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { initPositionRole(); } }

  • C# kod pozadinski fileprivate void initPositionRole(){positionRole.Items.Clear();positionRole.Enabled = true;positionRole.Items.Add(Analyst);positionRole.Items.Add(Designer);positionRole.Items.Add(Developer);}

    protected void workerButton_CheckedChanged(object sender, EventArgs e){initPositionRole();}

    protected void bossButton_CheckedChanged(object sender, EventArgs e){positionRole.Items.Clear();positionRole.Enabled = true;positionRole.Items.Add(General Manager);positionRole.Items.Add(Project Manager);}

  • C# kod pozadinski fileprotected void vpButton_CheckedChanged(object sender, EventArgs e){positionRole.Items.Clear();positionRole.Enabled = true;positionRole.Items.Add(VP Sales);positionRole.Items.Add(VP Marketing);positionRole.Items.Add(VP Production);positionRole.Items.Add(VP Human Resources);}

    protected void presidentButton_CheckedChanged(object sender, EventArgs e){positionRole.Items.Clear();positionRole.Enabled = false;}

  • C# kod pozadinski fileprotected void saveButton_Click(object sender, EventArgs e){String position = ;if (workerButton.Checked)position = Worker;if (bossButton.Checked)position = Manager;if (vpButton.Checked)position = Vice President;if (presidentButton.Checked)position = President;infoLabel.Text = Employee:&nbsp + firstName.Text + &nbsp +lastName.Text + &nbsp&nbsp&nbsp&nbspId:&nbsp +employeeID.Text + &nbsp&nbsp&nbsp&nbspPosition:&nbsp +position;}

  • C# kod pozadinski fileprotected void clearButton_Click(object sender, EventArgs e){firstName.Text = ;lastName.Text = ;employeeID.Text = ;workerButton.Checked = true;bossButton.Checked = false;vpButton.Checked = false;presidentButton.Checked = false;initPositionRole();infoLabel.Text = ;}

  • Obrada dogaaja i zahtevi serveruKada se desi neki dogaaj na koji web kontrola reaguje, tj. postoji metod koji se izvrava u tom sluaju, onda web browser alje zahtev web serveru za obradom tog dogaaja, jer se kod izvrava na web serveru. Poto kontrole na web strani mogu sadrati podatke unete od strane korisnika, koje aplikacija treba da obradi, zajedno sa zahtevom se alju i ti podaci metodom get ili postAli, na web serveru u ASP.NET-u, mogu se programski promeniti preko serverskih kontrola i oni podaci elementi web strane koji se ne alju kao korisniki uneti podaci

  • Obrada dogaaja i zahtevi serveruKako web server onda zna ta je uradio u prethodnoj sesiji, ta je sve eventualno promenio?Odgovor moe biti taj da se to pamti na serveruAli, to bi bilo previe zahtevno za server, kada je optereen, kada ima puno zahtevaOnda se svi ti podaci sa web strane koji nisu vezani za input polja pamte u hidden skrivenom input polju u web browser-u, dakle u RAM memoriji klijentskog raunara a ne nepotrebno na serveruPri sledeem zahtevu, iz hidden polja se podaci na standardan nain alju web serveru, zajedno sa korisnikim podacima metodom get ili post

  • Hidden poljeOvakvo ponaanje se moe promeniti za datu kontrolu, ako se postavi vrednost svojstva EnableViewState = false, u kom sluaju se ne alju podaci za tu kontrolu