ASP.NET Tutorial, Part 15 - Videre med ASP.NET

Tags:    asp.net
Skrevet af Bruger #7741 @ 09.08.2005
Vi har nu gennem 14 lektioner været rundt om udvikling med ASP.NET, og vi har dækket en del af de grundlæggende elementer som kræves for at kunne skabe dynamiske og velfungerende sider på nettet.

Der er dog meget mere til ASP.NET-udvikling end vi har været inde på, hvorfor denne foreløbig sidste lektion i serien bruges på at samle lidt op og fortælle om nogle af de områder man som vordende ASP.NET-programmør bør kigge nærmere på.

I artiklen henvises til en del eksterne og udenlandske artikler. De er valgt med det formål at få mere konkret information om de enkelte områder på en så pædagogisk måde som muligt. Der findes dog mange andre ressourcer på nettet end de nævnte artikler, og jeg kan kun anbefale at du kigger dig omkring. Brug eventuelt de links til gode sites om ASP.NET der er nævnt sidst i artiklen.

Applikationer og sessioner


For at man kan skabe en velfungerende applikation på nettet, er det nødvendigt at have en eller anden form for tilstand (på engelsk kaldes det state). Tilstand i en applikation er nødvendig for at kunne opbevare data omkring selve applikationen og brugerne, og på nettet er tilstand nødvendig for eksempelvis en webshop. Hvis ikke der skabes tilstand så applikationen kan identificere og adskille de enkelte brugere i webshoppen fra hinanden, kan man ikke kode en indkøbskurv, fordi indholdet i kurven ikke kan huskes af applikationen mellem forespørgsler.

På trods af at en web server er tilstandsfri (stateless), er det nemt i ASP.NET at arbejde med tilstand. Så længe brugerne kan håndtere cookies, klares det helt automatisk, og man kan umiddelbart benytte de to objekter Application og Session til at gemme oplysninger.

I Application-objektet kan man placere data som er fælles for alle brugere (eksempelvis globale variabler), og i Session-objektet kan man placere data der kun er relevant for den enkelte bruger (eksempelvis en indkøbskurv).

Følgende artikler giver god information om både applikationsbegrebet og tilstand i ASP.NET:



Databaser


Næsten alle web applikationer har brug for at vise data fra en eller anden form for database (eksempelvis Access-database, SQL Server eller rene tekstfiler). I ASP.NET kan det opdeles i to separate områder - nemlig den kode der skal til at hente data fra databasen, og brug af kontroller til at vise data.

For at hente data benyttes en del af BCL (Base Class Library) der kaldes ADO.NET, som findes under namespacet System.Data. Her findes klasser til at kommunikere med de mange forskellige typer af databaser, samt flere generelle klasser og strukturer til at holde data.

En god introduktion til ADO.NET kan du eksempelvis finde i en af følgende artikler:


Når data er hentet og klar til visning på en ASP.NET-side, benyttes de såkaldte datakontroller således, at man ikke selv behøver skrive kode til at løbe en datastruktur igennem og danne HTML. I stedet bindes data til kontrollen som så viser data.

Her kan man især koncentrere sig om to kontroller - Datagrid-kontrollen og Datalist-kontrollen. Med Datagrid-kontrollen kan man vise data i et grid (kan sammenlignes lidt med et Excel-ark), og med en Datalist-kontrol bestemmer man i højere grad selv hvordan data skal vises.

Man kan også binde data til næsten alle andre standard kontroller som vi tidligere har kigget på - herunder både tekstbokse, diverse lister og grupperingskontroller.

Der findes mange artikler og sites omkring databinding til kontroller - herunder et par stykker:



Arbejder man med Datalist-kontrollen, kommer man ikke uden om Scott Mitchells gode artikelserie (An Extensive Examination of the DataGrid Web Control).

Tracing og debugging


Alle programmører laver fejl, men en af de ting der kendetegner en god programmør, er evnen til hurtigt at finde og rette en fejl. Hertil kræves gode værktøjer, og dem er der heldigvis mange af i ASP.NET.

Debugging af en ASP.NET-applikation sker ved at fortælle ASP.NET at man ønsker at arbejde i debug-mode. Så vil blandt andet fejlmeddelelserne være meget informative, og det er nemmere at finde punktet hvor koden fejler.

Når man skal debugge en ASP.NET-applikation, er det også en stor fordel at kunne se hvilke data der er sendt til en side, hvilke kontroller der benyttes, hvor lang tid de enkelte elementer på siden er om at blive dannet, at kunne læse værdier af fra objekter og så videre. Det er muligt ved hjælp af tracing, som fungerer ved at ASP.NET automatisk inkluderer en lang liste med debug-oplysninger på hver side.

Disse artikler fortæller om tracing og debugging:



Cache


Mulighederne for caching i ASP.NET er af en eller anden grund et noget overset område i ASP.NET-udvikling, og det er på trods af at det er utroligt nemt at have med at gøre for udvikleren og kan give helt fantastiske performance-fordele.

Kort fortalt giver caching mulighed for at lade ASP.NET gemme en kopi af en side i hukommelsen således, at der ikke behøver blive afviklet kode for at danne siden for hver forespørgsel. Caching kan ske på mange måder - både på side- og kontrolplan - og det er vel at mærke uden at skrive kode overhovedet. Caching kan slås til ved hjælp af en simpel opmærkning.

Følgende artikler fortæller om caching:



Sikkerhed


I mange ASP.NET-applikationer er der behov for at kunne styre hvilke brugere der har adgang til forskellige sider, og måske gruppere brugerne og kunne tildele rettigheder på gruppeplan. Det kan løses ved hjælp af egen kode, men det kan nemt blive både kompliceret og svært at håndtere.

I ASP.NET kan man få en del hjælp til at sikre korrekt brugeradgang til et site ved hjælp af forskellige indbyggede funktioner. Man kan eksempelvis basere adgang på almindelig Windows-sikkerhed eller på egne formularer hvor brugerne kan indtaste brugernavn og password.

Disse artikler fortæller lidt om hvordan man kommer i gang med at lade ASP.NET håndtere sikkerheden i en ASP.NET-applikation:



Ressourcer


Der findes rigtig mange sites på nettet med gode informationer om ASP.NET, men der findes et par stykker som man ikke kan komme uden om:

http://msdn.microsoft.com: Microsofts store site for udviklere (ikke bare ASP.NET). Det er her man kan finde de sidste nyheder omkring udvikling med Microsofts produkter, læse dokumentation og finde de mange tekniske artikler. Der findes blandt andet et meget stort antal artikler om ASP.NET.

http://www.asp.net: Meget stort site (i den grad sponseret af Microsoft) omkring ASP.NET. Det er her man finder udviklingsmiljøet Web Matrix, en helt forrygende tutorial om mange forskellige aspekter inden for ASP.NET (gør dig selv en tjeneste, og brug lidt tid på denne tutorial - det kan godt betale sig), og en stor database over eksterne kontroller.

http://msdn.microsoft.com/theshow: Microsofts egen fjernsynskanal for udviklere. Der findes en stor mængde udsendelser om forskellige Microsoft-produkter - herunder også noget omkring ASP.NET. Det er en rigtig god måde at blive klogere på.

http://msdn.microsoft.com/msdnmag: MSDN Magazine er et nærmest uundværligt værktøj for en udvikler der arbejder med Microsofts produkter. Der er mange gode artikler på alle niveauer hver måned, og meget handler om ASP.NET. Især de tidligere numre (fra 2000 til 2002) indeholder meget "guld" for ASP.NET-begynderen.

http://www.4guysfromrolla.com: "4 guys from Rolla" er et meget populært site for ASP-udvikleren. Det har været på banen i mange år og indeholder en meget stor mænge artikler. Snyd ikke dig selv for denne guldgrube.

http://www.15seconds.com: Også et "gammelt" ASP-site med en stor mængde information om ASP.NET.

http://www.metabuilders.com: Jeg har taget Metabuilders med på denne liste fordi jeg har brugt deres gratis kontroller en hel del. Der er flere som er meget brugbare - også for begyndere.

WebLogs er blevet meget populære de sidste par år, og der kan virkelig findes guld her fordi informationerne kommer "direkte fra hestens egen mund". Der findes en del interessante blogs for ASP.NET-udvikleren, og her er et par af dem: http://weblogs.asp.net/scottgu tilhører Scott Guthrie, som er en af de store profiler bag ASP.NET, http://blogs.msdn.com/bgold tilhører Brian Goldfarb som også er en del af ASP.NET-teamet, og http://weblogs.asp.net/despos/ tilhører Dino Esposito, som er en populær forfatter og foredragsholder. Der findes en del flere som er interessante - se eksempelvis på http://blogs.msdn.com.

Der findes en del danske sites som er interessante - blandt andet Microsofts eget på http://msdn.microsoft.dk. Herudover indeholder følgende også en masse spændende information: http://www.activedeveloper.dk, http://www.html.dk, http://www.dotnetforum.dk, og http://www.udvikleren.dk.


Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (4)

User
Bruger #7821 @ 19.08.05 15:30
Udviklingsmæssigt er dette en ret genial artikel

En 5 fra mig af
User
Bruger #2730 @ 17.10.05 08:14
Jamen, der er jo intet i denne artikel! Det er jo en håndfuld links, der burde være på Ressource siden og ikke i en artikel - kunne man give mindre end 1, gjorde jeg det - dette er ikke en artikel.
User
Bruger #6872 @ 21.11.05 23:49
tag da en slapper... Syntes alle hans artikler omkring ASP.NET er nice. Det har hjulpet mig godt i gang med det, så håber snart jeg bliver noget bedere :D
User
Bruger #1742 @ 03.04.06 01:13
Hmm må sige jeg er lidt skuffet, gik ellers igang med denne serie af artikler med godt mod men da jeg nåede til nummer 4 begyndte jeg skimme de andre igennem, og der er simpelt hen ingen gennemgang af kode, faktisk meget skuffet over dette.
Ellers fin ide...
Du skal være logget ind for at skrive en kommentar.
t