26.07.2013 Views

KOMPETENSSYSTEM - Örebro universitet

KOMPETENSSYSTEM - Örebro universitet

KOMPETENSSYSTEM - Örebro universitet

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Kompetensia<br />

De två första problemen har man löst på det sätt som illustreras i figur 3.9. Källkoden<br />

översätts först till vad som kallas Microsoft Intermediate Language (MSIL). Denna IL-kod<br />

körs sedan i exekveringsmotorn, Common Language Runtime (CLR). CLR hanterar<br />

översättningen till maskinspecifika instruktioner och kontrollerar även minnet,<br />

undantagshantering och skräpsamling.<br />

Figur 3.9: Virtuell exekveringsmotor kör programmets kod<br />

Problemet med det svårhanterliga Win32 API har man löst genom att införa det som kallas för<br />

klassramverket. Det är en stor samling klasser som innehåller all funktionalitet som en<br />

utvecklare kan tänkas behöva. Till skillnad från Win32 API är klasserna välorganiserade i så<br />

kallade namnutrymmen (eng. namespace). Till exempel innehåller namnutrymmet System<br />

klasser för att hantera de primitiva datatyperna: System.Int32, System.Array, System.String<br />

osv. (MSDN, 2004)<br />

3.4 ASP.NET<br />

ASP.NET är en ny teknik för att kunna ta del av de ovan nämnda fördelarna även vid<br />

webbutveckling. Detta betyder att ASP.NET-sidor utvecklas i något av de<br />

programmeringsspråk som stöds av plattformen .NET.<br />

Då en klient begär en webbsida kontrollerar webbservern om aktuell IL-kod finns tillgänglig<br />

och i så fall genereras HTML som skickas till klienten. Om IL-kod saknas eller om<br />

ASP.NET-sidans kod uppdaterats, kompileras sidan om på nytt. Den nya IL-koden sparas<br />

sedan på disk så att framtida kompileringar ej behövs.<br />

En annan nyhet i ASP.NET är code-behind vilket gör det möjligt att separera logik från<br />

presentation och lägga all kod i separata klassfiler.<br />

Peter Lorenz 18(47)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!