Active Server Pages i Windows 2000

Det nye styresystem byder på spændende nyheder for ASP-udviklere.

Styresystemet Windows 2000 Server leveres med en ny version af web-serveren Internet Information Server (IIS), 5.0. I forhold til version 4.0, der følger med Windows NT Server, er der sket adskillige forbedringer, ikke mindst indenfor ASP (Active Server Pages), en teknologi, som gør det muligt at udføre scripts på serveren.


En af de vigtigste forbedringer ligger uden tvivl i hastigheden - Microsoft hævder selv, at eksisterende ASP-applikationer kører 50-100 pct. hurtigere under Windows 2000 end under Windows NT 4.0. Denne artikel kigger på et lille udvalg af de nye muligheder, som findes i ASP under IIS 5.0.


Server.Transfer


Det er ofte nødvendigt at sende brugeren videre til en anden ASP-side. Hidtil har den eneste mulighed været metoden Response.Redirect, som sender en besked til browseren om, at denne skal kalde en bestemt URL. Problemet med Response.Redirect er bl.a., at der spildes tid med at kalde klienten, der igen skal kontakte serveren. Det ville være nemmere, hvis hele opgaven kunne klares på serveren.


Det er nu muligt med metoden Server.Transfer. Når denne metode kaldes, overføres kontrollen over output-kanalen til den nye ASP-side, der også har adgang til alle variabler i Request-samlingen. I modsætning til Response.Redirect kan Server.Transfer dog ikke kalde et dokument på en anden maskine.


Nedenfor ses et eksempel på, hvor metoden kan bruges:


side1.asp


< %

Response.Write("Denne sætning er skrevet på side 1")

Session("enVar") = "Denne variabel er sat på side 1"

Server.Transfer("side2.asp")

% >


side2.asp


< %

Response.Write(Session("enVar") & ", men skrevet på side 2")

% >


Resultatet af et kald til side1.asp er:


Denne sætning er skrevet på side 1

Denne variabel er sat på side 1, men skrevet på side 2.


Server.Execute


IIS 5.0 indeholder en anden ny metode, Server.Execute, der ligesom Server.Transfer kan bruges til at hente programkode fra en anden side, uden at sende besked til klienten om at gå til en ny URL. Server.Execute er en form for include, der henter en ASP-fil og behandler indholdet, som var det del af det aktuelle dokument. I modsætning til Server.Transfer skifter applikationen ikke til en ny side; når behandlingen af indholdet i dokumentet er afsluttet, skifter kontrollen til den gamle side.


Metoden er en nem genvej til modulære applikationer, hvor man kan undgå at gentage den samme ASP-kode på hver side, og den kan udnyttes til at lave betingede includes, hvor indhold kun importeres, hvis en bestemt forudsætning er opfyldt.


Nedenfor ses eksemplet fra før, denne gang med Server.Execute. Som det kan ses, kan vi inkludere programlogik efter kaldet til Server.Execute, fordi kontrollen over applikationen bliver på den aktuelle side.


side1.asp


< %

Response.Write("Denne sætning er skrevet på side 1")

Session("enVar") = "Denne variabel er sat på side 1"

Server.Execute("side2.asp")

Response.Write("Denne sætning er igen skrevet på side 1")

% >


side2.asp


< %

Response.Write(Session("enVar") & ", men skrevet på side 2")

% >


Bedre Browser Capabilites


ASP indeholder en komponent kaldet Browser Capabilities, der fortæller, hvilke egenskaber klientens browser understøtter. Komponenten bruger en statisk tekstfil, som programmøren selv kan opdatere med nye informationer. Denne model har en række svagheder, ikke mindst at komponenten kun returnerer informationer om default-indstillinger; de fleste browsere giver imidlertid brugeren muligheden for at ændre konfigurationen.


I IIS 5.0 kan Browser Capabilities læse en cookie, som sendes fra klienten, og bruge den til at finde frem de til nøjagtige egenskaber, som er aktiveret i browseren. En sådan cookie kan f.eks. sendes med et simpelt script på klient-siden. Applikationen kan så tilpasses klientens egenskaber.


HTML-filer gemt som .ASP


Som udvikler kan man ofte være fristet til at gemme alle sine applikationsfiler med endelsen .asp, selvom nogle filer slet ikke indeholder programkode og derfor i realiteten kunne gemmes med endelsen .htm. Problemet har hidtil været, at serveren spilder tid med at lede efter programkode i filen, hvis endelsen er .asp, mens htm-filer straks sendes ubehandlet til klienten. Det tager derfor længere tid at hente filer med .asp end med .htm, og serveren spilder ressourcer på at søge efter programkode som ikke findes.


I IIS 5.0 bliver ASP-filer uden scripts behandlet næsten lige så hurtigt som htm-filer. Hastigheden er stadig ikke helt den samme - og kan aldrig blive det, for serveren skal først indlæse filen for at undersøge, om den indeholder scripts som skal udføres - men hastighedsforskellen er blevet mindre. Det kan nu anbefales at gemme filer med asp-endelsen, selvom de ikke indeholder kode, hvis man regner med at tilføje scripts på et senere tidspunkt.


Flere informationer


Denne artikel har kun præsenteret en meget lille del af mulighederne i ASP under IIS 5.0. Uddybende informationer findes i den elektroniske hjælpedokumentation, der følger med Windows 2000 Server, og på nedenstående Internet-adresser:


msdn.microsoft.com /library/psdk/iisref/iiwachng.htm


msdn.microsoft.com /library/psdk/iisref/iiwanew.htm


msdn.microsoft.com /workshop/server/asp/server02282000.asp




    Brancheguiden
    Brancheguide logo
    Opdateres dagligt:
    Den største og
    mest komplette
    oversigt
    over danske
    it-virksomheder
    Hvad kan de? Hvor store er de? Hvor bor de?
    EG Danmark A/S
    Udvikling, salg, implementering og support af software og it-løsninger til ERP, CRM, BA, BI, e-handel og portaler. Infrastrukturløsninger og hardware. Fokus på brancheløsninger.

    Nøgletal og mere info om virksomheden
    Skal din virksomhed med i Guiden? Klik her

    Kommende events
    IT og OT i harmoni: Sikring uden at gå på kompromis med effektiviteten

    IT og OT smelter sammen – men med risiko for dyre fejl. Få metoder til sikker integration med ERP, kundesystemer og produktion. Tilmeld dig og få styr på forskellene og faldgruberne.

    24. september 2025 | Læs mere


    NIS2: Vi gør status efter tre måneder og lærer af erfaringerne

    Vær med, når vi deler oplevelser med implementering af NIS2 og drøfter, hvordan du undgår at gentage erfaringerne fra GDPR – og særligt undgår kostbar overimplementering.

    30. september 2025 | Læs mere


    Ledelse og AI: Sådan transformerer teknologien lederskabet

    Her er chancen for at netværke med andre ledere, der håndterer store transformationer med udgangspunkt i it. Hør blandt andet om, hvordan AI revolutionerer forandringsledelse og organisatorisk udvikling.

    02. oktober 2025 | Læs mere