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.
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:
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).
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:
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:
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:
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:
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:
Der findes en del flere som er interessante - se eksempelvis på blogs.msdn.com.
Der findes en del danske sites som er interessante - blandt andet Microsofts eget på msdn.microsoft.dk. Herudover indeholder følgende også en masse spændende information: