GUID's maken met behulp van Active Server Pages in IIS

Dit artikel bevat informatie over het maken van verschillende voorbeeldpagina's met behulp van verschillende vormen van GUID's voor Active Server Pages (ASP)-pagina's die u kunt gebruiken. Deze waarden kunnen worden gebruikt om unieke gegevensvermeldingen te maken in een database, of ergens anders waar een uniek gegevensveld is vereist.

Oorspronkelijke productversie: Internet Information Services
Origineel KB-nummer: 320375

Opmerking

Omdat in deze voorbeelden geen sessievariabelen worden gebruikt, werken deze voorbeelden ook op webservers waarvoor de sessiestatus is uitgeschakeld.

Een eenvoudige tijdgebaseerde GUID maken

In dit voorbeeld wordt een eenvoudige, op tijd gebaseerde GUID van 14 tekens gemaakt met behulp van het huidige jaar, de maand, de dag, het uur, de minuut en de seconden. Hierdoor kunt u gegevens sorteren op basis van de GUID.

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "GUID = " & CreateGUID()
    
                Function CreateGUID()
                    Dim tmpTemp
                    tmpTemp = Right(String(4,48) & Year(Now()),4)
                    tmpTemp = tmpTemp & Right(String(4,48) & Month(Now()),2)
                    tmpTemp = tmpTemp & Right(String(4,48) & Day(Now()),2)
                    tmpTemp = tmpTemp & Right(String(4,48) & Hour(Now()),2)
                    tmpTemp = tmpTemp & Right(String(4,48) & Minute(Now()),2)
                    tmpTemp = tmpTemp & Right(String(4,48) & Second(Now()),2)
                    CreateGUID = tmpTemp
                End Function
            %>
        </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website, meestal de C:\InetPub\Wwwroot map voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest0.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een GUID. Wanneer u de pagina vernieuwt, ziet u de GUID-toename.

Een eenvoudige tijdsverschil-GUID maken

In dit voorbeeld wordt een tijdgebaseerde GUID van 20 tekens gemaakt met behulp van de verschuiving in seconden vanaf 12:00 middernacht op 1 januari 2000. Hierdoor kunt u gegevens sorteren op basis van de GUID en kan worden bijgewerkt om een andere datum als basis te gebruiken.

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "GUID = " & CreateGUID()
    
                Function CreateGUID()
                    Dim tmpTemp1,tmpTemp2
                    tmpTemp1 = Right(String(15,48) & CStr(CLng(DateDiff("s","1/1/2000",Date()))), 15)
                    tmpTemp2 = Right(String(5,48) & CStr(CLng(DateDiff("s","12:00:00 AM",Time()))), 5)
                    CreateGUID = tmpTemp1 & tmpTemp2
                End Function
            %>
        </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website, meestal de C:\InetPub\Wwwroot map voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest1.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een GUID. Wanneer u de pagina vernieuwt, ziet u de GUID-toename.

Opmerking

In dit voorbeeld is uniekheid alleen mogelijk wanneer de functie niet twee keer in dezelfde seconde wordt aangeroepen. Eventuele twee aanroepen naar de functie op dezelfde seconde veroorzaken een botsing. Dit kan geen probleem veroorzaken, afhankelijk van hoe uw code de functie gebruikt, maar u kunt het voorbeeld Een uniekere tijdsverschil-GUID maken gebruiken om unieke waarden toe te staan die in dezelfde seconde voorkomen.

Een uniekere tijd-offset-GUID maken

In dit voorbeeld, net als in het voorbeeld Een eenvoudige tijdsverschil-GUID maken, wordt een op tijd gebaseerde GUID gemaakt, maar deze is 25 tekens lang. In dit voorbeeld wordt een waarde van 20 tekens gemaakt op basis van de offset in seconden vanaf 12:00 uur middernacht op 1 januari 2000 en worden daar nog vijf willekeurige getallen aan toegevoegd. Hierdoor kunt u gegevens sorteren op basis van de GUID, maar veel meer uniek zijn. Dit kan worden bijgewerkt om een andere datum als basis te gebruiken.

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "GUID = " & CreateGUID()
    
                Function CreateGUID()
                    Randomize Timer
                    Dim tmpTemp1,tmpTemp2,tmpTemp3
                    tmpTemp1 = Right(String(15,48) & CStr(CLng(DateDiff("s","1/1/2000",Date()))), 15)
                    tmpTemp2 = Right(String(5,48) & CStr(CLng(DateDiff("s","12:00:00 AM",Time()))), 5)
                    tmpTemp3 = Right(String(5,48) & CStr(Int(Rnd(1) * 100000)),5)
                    CreateGUID = tmpTemp1 & tmpTemp2 & tmpTemp3
                End Function
            %>
        </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website, meestal de C:\InetPub\Wwwroot map voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest2.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een GUID. Wanneer u de pagina vernieuwt, ziet u de eerste 20 tekens van de GUID-toename en zijn de laatste vijf tekens willekeurig.

Opmerking

Dit voorbeeld en het voorbeeld een eenvoudige tijdsverschil-GUID maken zijn gemaakt voor serialisatie op basis van tijd van aanroepen naar de CreateGUID functie. Als het sorteren van gegevens op basis van tijd geen vereiste is, kunt u het voorbeeld Een eenvoudige willekeurige GUID maken gebruiken om een willekeurige GUID te maken.

Een eenvoudige willekeurige GUID maken

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "GUID = " & CreateGUID()
    
                Function CreateGUID()
                    Randomize Timer
                    Dim tmpCounter,tmpGUID
                    Const strValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                    For tmpCounter = 1 To 20
                    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
                    Next
                    CreateGUID = tmpGUID
                End Function
            %>
        </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website. Dit is meestal de map C:\InetPub\Wwwroot voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest3.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een willekeurige GUID van 20 tekens. Wanneer u de pagina vernieuwt, ziet u dat de waarde willekeurig wordt gewijzigd.

Opmerking

In dit voorbeeld wordt een willekeurige GUID met vaste lengte gemaakt. Als u een GUID met variabele lengte wilt maken, gebruikt u het voorbeeld Een willekeurige GUID met variabele lengte maken .

Een willekeurige GUID met variabele lengte maken

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "<P>GUID = " & CreateGUID(10)
                Response.Write "<P>GUID = " & CreateGUID(25)
                Response.Write "<P>GUID = " & CreateGUID(50)
    
                Function CreateGUID(tmpLength)
                    Randomize Timer
                    Dim tmpCounter,tmpGUID
                    Const strValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                    For tmpCounter = 1 To tmpLength
                    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
                    Next
                    CreateGUID = tmpGUID
                End Function
            %>
    </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website. Dit is meestal de map C:\InetPub\Wwwroot voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest4.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een willekeurige GUID van 10 tekens, 25 tekens en 50 tekens. Wanneer u de pagina vernieuwt, ziet u dat de waarden willekeurig worden gewijzigd.

Opmerking

In dit voorbeeld en in het voorbeeld Een eenvoudige willekeurige GUID maken beide tekenreeksen met samengevoegde willekeurige tekens. In het voorbeeld Een willekeurige GUID in Windows-stijl maken wordt deze functionaliteit uitgebreid om een GUID te maken die is opgemaakt als een Windows-GUID.

Een willekeurige GUID in Windows-stijl maken

Windows gebruikt voornamelijk GUID's bij het registreren van klasse-id's voor onderdelen en andere objecten, maar GUID's kunnen voor alles worden gebruikt. Windows-GUID's zijn lange tekenreeksen met opgemaakte hexadecimale tekens, wat betekent dat ze de getallen 0 tot en met 9 en de letters A tot en met F gebruiken. (Microsoft Access heeft ook een ingebouwde replicatie-id in dezelfde indeling.) In dit voorbeeld ziet u hoe u code gebruikt die vergelijkbaar is met de voorbeeldcode Een willekeurige GUID met variabele lengte maken om een GUID zoals een Windows GUID te maken.

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "<P>GUID = " & CreateWindowsGUID()
    
                Function CreateWindowsGUID()
                    CreateWindowsGUID = CreateGUID(8) & "-" & _
                    CreateGUID(4) & "-" & _
                    CreateGUID(4) & "-" & _
                    CreateGUID(4) & "-" & _
                    CreateGUID(12)
                End Function
    
                Function CreateGUID(tmpLength)
                    Randomize Timer
                    Dim tmpCounter,tmpGUID
                    Const strValid = "0123456789ABCDEF"
                    For tmpCounter = 1 To tmpLength
                    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
                    Next
                    CreateGUID = tmpGUID
                End Function
            %>
        </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website, meestal de C:\InetPub\Wwwroot map voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest5.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een willekeurige GUID die is opgemaakt als een Windows-GUID. Wanneer u de pagina vernieuwt, ziet u dat de waarde willekeurig wordt gewijzigd.

Een sterkere willekeurige GUID in Windows-stijl maken

Omdat Windows-GUID's hexadecimale getallen voor elk teken gebruiken, zijn 16 waarden per teken mogelijk in de GUID. Als u de waarden uitvouwt om het hele alfabet op te nemen, zijn 36 waarden per teken mogelijk in de GUID. In dit voorbeeld wordt de functie uit het voorbeeld Een willekeurige GUID met variabele lengte maken gebruikt om een GUID te maken in dezelfde indeling als een Windows GUID.

  1. Selecteer Start, wijs Programma's aan, selecteer Accessoires en selecteer vervolgens Kladblok om Kladblok te openen.

  2. Typ of plak de volgende ASP-code in Kladblok:

    <%@LANGUAGE="VBSCRIPT"%>
    <HTML>
        <BODY>
            <%
                Response.Write "<P>GUID = " & CreateWindowsGUID()
    
                Function CreateWindowsGUID()
                    CreateWindowsGUID = CreateGUID(8) & "-" & _
                    CreateGUID(4) & "-" & _
                    CreateGUID(4) & "-" & _
                    CreateGUID(4) & "-" & _
                    CreateGUID(12)
                End Function
    
                Function CreateGUID(tmpLength)
                    Randomize Timer
                    Dim tmpCounter,tmpGUID
                    Const strValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                    For tmpCounter = 1 To tmpLength
                    tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
                    Next
                    CreateGUID = tmpGUID
                End Function
            %>
        </BODY>
    </HTML>
    
  3. Sla de pagina op:

    1. Selecteer in het menu BestandOpslaan.
    2. Zoek de hoofdmap voor uw website, meestal de C:\InetPub\Wwwroot map voor de standaardwebsite.
    3. Geef het bestand de naam GuidTest6.asp.
    4. Kies Opslaan.
    5. Klik in het menu Bestand op Afsluiten.
  4. Zoek de pagina met Internet Explorer. U ziet een willekeurige GUID die is opgemaakt als een Windows-GUID. Wanneer u de pagina vernieuwt, ziet u dat de waarde willekeurig wordt gewijzigd.