350 likes | 472 Views
ISS webserver og web applikationer. Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer i form af sider / services.
E N D
ISS webserver og web applikationer • Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. • Den enkelte applikation består typisk af flere elementer i form af sider / services. • Webserveren sørger for trådning, så flere klienter kan arbejde på samme applikation.Der oprettes et nyt side/service object for hvert kald fra klient. • Webserveren anvender HTTP protokollen, der som udgangspunkt er stateless, men klienten får tildelt en sessionid, der kan bruges i forbindelse med at holde en state (sendes med i request).
Mappestrukturer i ASP.NET • Webapplikationen er placeret i sin egen virtuelle mappe. • En fysisk undermappe kan godt samtidig være ”hjemsted” for en ny applikation. • Sider og andre filer kan være placeret i undermapper, idet standard er nogle specielle mapper, som ses til højre
Statisk / dynamiske sider Serversiden: • På serversiden er HTML sider og HTML kontroller i ASP.NET sider statiske. • På serversiden opnås dynamiske sider med asp.net kontroller og bagvedliggende kode. Klientsiden: • Klienten modtager HTML side, der præsenteres med en browser, der som udgangspunkt er statisk, men der kan indlejres javascript (og andre dynamiske elementer som fx flash) i koden, der kan gøre siden dynamisk på klientsiden.Med Javascript, kan HTML dokumentet hos klienten ændres – browseren tilpasser visningen dynamisk når siden ændres, scriptet kan evt. indeholde kald til server for at hente nye dataelementer til dokumentet, hvilket er det der sker med brug af AJAX.
Page request og postback • Behandlingen på serveren er forskellig, når siden aktiveres som en request (ny side) og når den aktiveres som en postback (efterfølgende kald fra form til siden på bagrund af event), hvor der kan være data fra form’en med tilbage til serveren. • Hvorvidt et event på klienten skal føre til en postback kan styres på kontroller med en property (AutoPostBack) • På Knapper er AutoPostBack som udgangspunkt sat til true, men for øvrige er det false og man skal så selv ændre, hvis man ønsker en postback. • Bemærk at på serversiden oprtæder Page:Load eventet (kalder Page_Load metoden) både ved request og postback, samt at dette event optræder andre triggede events. Man kan teste, om det er en PostBack med IsPostBack property’en.
Oprettelse af ASP.NET projekt (video klip – klik på det for at afspille video)
ASP.NET – web site projekt Vælg New Web Site og angiv mappe for websitet Du skal huske selv at angive en ny undermappe, da der ikke automatisk foreslås en undermappe til solutionmappen. Det er en god idé, at lave en undermappe inde i solutionmappen, så webprojektet kommer med når du kopierer eller zip’er din solutionmappe.
Webform controls ASP.NET kontrollerne optræder som ”HTML-agtig” kode i ASPX siden. ASPX-siden bliver før til compileret kode (misil-kode – en klasse) sammen med den tilhørende C# fil, og resultatet vil resultere i noget HTML-kode samt evt. noget javascript-kode, i det output, der sendes til klienten. Hvis sourcen ikke er compileret inden første kald til siden, vil første kald resultere i en compilering til misil-kode og det er denne der afvikles af den normale .NET engine.
Postback • For at indhold føres med til server skal der ske en postback. • På kontroller styres medAutoPostBack property omet event på klienten skalresultere i en automatiskpostback. • For knapper er default forAutoPostBack true, men på øvrige er default normalt false. • Vær kritisk i beslutningen om et event skal resultere i kald til server.
Validators Validators optræder i ASPX siden typisk som nogle propeties på kontrollerne og vil typisk resultere i, at der dannes javascript i det HTML-response, der sendes til klienten.
RegularExpressionValidator Stærk kontrol til validering af felter med regulære udtryk på klientsiden. Flere færdige udtryk eller selv- defineret
CompareValidator For validering af afhængige felter på klientside.
CustomValidator CustomValidator med validering på klientside ved brug af JavaScript. Script kan indskrives i aspx-sourcefilen, men bør lægges i selvstændig js-fil – se næste
Javascript Medtag script før header i aspx <script language="Javascript" src="MyJScript.js" type="text/jscript" ></script>
Javascript - ScriptManager tilgang til PageMethods på server
Opsætning for mappegennemsyni web.config - filen • Styringen om man må browse i mapper eller ej - styres af elementet directoryBrowse i sektionen system.webServer. • Man skal samtidig så huske ikke at have en default / index fil, som der automatisk startes hvis der kun angives et websted • <configuration>.......................................... <system.webServer> ........................................ <directoryBrowse enabled="true" /> ........................................ </system.webServer>..........................................</configuration>