Konfigurera ASP.NET

Varje arbetsprocess, w3wp.exe, är i huvudsak en fristående webbserver. När W3WP startar, laddar den alla nödvändiga ISAPI-filter och tillägg och kan betjäna vilken webbapp som helst inom sin Application Pool. Varje arbetsprocess är isolerad från IIS-serverkomponenter och från andra webbappar i andra arbetarpooler.

IIS 6 lagrar konfigurationsinformation i Metabasen, en XML-fil som ersätter det binära formatdatalagret som används av IIS 5. Eftersom Metabasen är i XML kan du läsa och redigera den med Notepad eller någon annan textredigerare.

Som visas på skärmdumpen körs IIS 6 ovanpå http.sys, HTTP-omdirigeraren för kärnläget. Närhelst en webbserver tar emot en HTTP-begäran omdirigerar http.sys denna begäran till lämplig arbetsprocess, baserat på dess URL. Tidigare versioner av IIS krävde att alla HTTP-förfrågningar gick via Inetinfo-processen. http.sys serverar även statiska webbsidor direkt från kärnlägescache, vilket ger en användbar prestandaökning för statiskt innehåll.

Naturligtvis stöder IIS 6 även klassisk ASP, vilket gör att du kan stödja ”legacy” webbappar på Windows Server 2003 och IIS 6. Du får därför användbara förbättringar i prestanda och tillförlitlighet genom att flytta till Windows Server 2003 utan att behöva uppgradera din webb. appar.

ASP.NET

I grunden är ASP.NET bara ett ISAPI-filter som finns i IIS 6-arbetarprocessen. Det här filtret tar upp inkommande HTTP-förfrågningar och bearbetar dem. Ett problem med tidigare ASP-appar var att samma ASP-sida innehöll både serversideskriptet och sidans HTML-layout.

Eftersom kod och displaylogik fanns i en enda fil blev komplexa sidor en mardröm att underhålla. ASP.NET löser detta problem genom att implementera vad som kallas ”kod bakom”. Detta skiljer visningslogik från bearbetningslogik (även om du fortfarande kan blanda kod och bearbetning om du insisterar). Vid bearbetning av en begäran om foo.aspx, till exempel, talar en rubrik inom foo.aspx till ASP.NET om detaljerna för kod-bakom-modulen (till exempel foo.aspx.cs), och ASP.NET laddar sedan lämplig sammansättning , utföra alla moduler eller just-in-time kompilering som den kräver.

Att distribuera en ASP.NET-app är lika enkelt som att XCopya ASP- och kod-bakom-filer till en fungerande webbserver, tillsammans med de nödvändiga konfigurationsfilerna som diskuteras senare. Det finns ingen komplex COM-miljö att hantera, inga registerposter att hacka, bara XCopy och gå. Du kan behöva lägga lite tid på att installera och konfigurera IIS och låsa Windows för säkerhets skull, men tillägget av en ASP.NET-app till en fungerande IIS 6-webbserver är trivialt.

Det är lika enkelt att distribuera uppdateringar – bara XCopy de uppdaterade filerna och nästa gång en sida efterfrågas, kompilerar ASP.NET om det som behövs och kör den uppdaterade appen. För stora komplexa appar kanske detta inte är det bästa sättet att implementera (även om de snåla detaljerna om implementeringen jag kommer att lämna för en separat artikel). För att illustrera, med lite hjälp från mina utvecklargurukompisar Dave Wheeler och James Winters, byggde jag en enkel kalkylatorapp med hjälp av Microsofts nya Visual Web Developer 2005 Express (VWDE), en förenklad version av Visual Studio 2005. För tillfället är det gratis för ladda ner (se msdn.microsoft.com).

Min kalkylator-app består av bara två filer: calc.aspx (’applikationen’) och calc.aspx.c, kodsidan bakom. calc.aspx ser ut så här:

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *