Hvad er .NET egentlig for en størrelse?
Helt grundlæggende er .NET program, som man kan installere på sin computer - det kan både være en almindelig arbejdscomputer, men også en server. Dette program, som man også kalder .NET frameworket giver mulighed for at køre andre programmer på computeren, der er skrevet så de udnytter dette .NET framework. Det er måske en smule indviklet, men det svarer lidt til at ... (kom lige med et godt eksempel :-) ).
.NET framework
Dette framework giver en række interessante muligheder/fordele for udvikleren. Figuren her viser en række vigtige komponenter i .NET frameworket
Common Language Runtime (CLR)
CLR ligger i bunden af frameworket og giver mulighed for at udvikling til .NET kan ske i en lang række sprog (VB, C#, C++, J# og mange flere).
Base Framework Classes
Indeholder objekter, til håndtering af: IO, string, net, security, threading, text, reflection, collections, etc.
Data and XML Classes
Indeholder objekter til kommunikation med databaser og XML. Det er blandt andet her ADO.NET gemmer sig.
Web services, Web-forms og Windows forms
Er så de programtyper, der kan køre oven på .NET frameworket. Dem kommer vi tilbage til om lidt.
Andre elementer
Ud over de objektsamlinger, der indgår i de kasser nævnt ovenfor er det interssant at vide, at .NET frameworket indeholder metoder, der gør det meget let at genbruge kode og at det ikke kræver indstillinger i registreringsdatabasen.
ASP.NET
Når man udnytter .NET frameworket på en web-server hedder det ASP.NET og tilbyder en ny måde at producere dynamiske hjemmesider. Det er lidt trist, at man har valgt at kalde det for ASP.NET, for det har ikke meget med klassisk ASP at gøre. Der er tale om en fuldt objektorienteret udviklingsplatform med objekter til dataadgang, sikkerhed, brugerdialog og meget mere. Ud over de mange objekter tilbyder ASP.NET at man kan adskille programmeringskoden og HTML layoutet.
Det er bestemt ikke trivielt at skifte fra ASP programmering til ASP.NET programmering!
Web-services
Et andet element, der kan udnyttes, hvis man kører .NET frameworket på en web-server er web-services. En web-service tillader to web-servere at kommunikere med hinanden til gavn for brugeren. Det er nok lettest at forstå ud fra et lille eksempel:
Google web-service
Vi kender alle søgemaskinen Google, men Google åbner også for at programmer på andre web-servere kan kalde søgemaskinen gennem en web-service. Det betyder at jeg her på sitet kan bruge Google's søge teknologi så mine brugere kan søge på sitet her, men på en måde så jeg selv har styr på layout af resultaterne. Det foregår på den måde at jeg sender en forespørgsel til Googles web-service med det søgeord jeg gerne vil have slået op (plus et par ekstra parametre) - retur fra Google får jeg et par objekter med resultatet af søgningen og dem kan jeg bruge til at vise søgeresultaterne på mit eget site.
Der er mange af den slags web-services, som man kan bruge som web-programmør og der vil opstå mange flere - specielt i B2B sammenhænge
Et simpelt program
En ASP.NET side kan se sådan her ud:
Som det fremgår minder det meget om en "almindelig" html side, der er dog en script blok i toppen af siden, der indeholder vores kode og nogle nye elementer f.eks. <asp:TextBox>. Siden bliver gemt på serveren som en .aspx fil, hvilket gør, at serveren ved, at der kan være en scriptdel, som den skal tage sig af.
Codebehind
Ovenstående er én måde at kode ASP.NET, men normalt - og på dette kursus - vælger man at dele kode og html, så det bliver lettere at styre. Det gør man ved det der code-behind filer, som vi kommer tilbage til senere.