Créer des GUID à l’aide des pages Active Server dans les services Internet (IIS)

Cet article fournit des informations sur la création de plusieurs exemples de pages à l’aide de différentes formes de GUID pour les pages ASP (Active Server Pages) à utiliser. Ces valeurs peuvent être utilisées pour créer des entrées de données uniques dans une base de données ou partout où un champ de données unique est requis.

Version du produit d’origine :   Services Internet (IIS)
Numéro de la base de connaissances initiale :   320375

Notes

Étant donné que ces exemples n’utilisent pas de variables de session, ces exemples fonctionnent également sur les serveurs Web dont l’état de session est désactivé.

Création d’un GUID basé sur l’heure simple

Cet exemple montre comment créer un simple GUID basé sur un temps de 14 caractères en utilisant l’année, le mois, le jour, l’heure, les minutes et les secondes en cours. Cela vous permet de trier les données en fonction du GUID.

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le C:\InetPub\Wwwroot dossier du site Web par défaut.
    3. Nommez le fichier GuidTest0. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID. Lorsque vous actualisez la page, vous voyez l’incrément de GUID.

Créer un GUID de décalage temporel simple

Cet exemple crée un GUID temporel de 20 caractères à l’aide du décalage en secondes entre 12:00 minuit le 1er janvier 2000. Cela vous permet de trier des données en fonction du GUID et peut être mis à jour pour utiliser toute autre date en tant que base.

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le C:\InetPub\Wwwroot dossier du site Web par défaut.
    3. Nommez le fichier GuidTest1. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID. Lorsque vous actualisez la page, vous voyez l’incrément de GUID.

Notes

Cet exemple autorise l’unicité uniquement lorsque la fonction n’est pas appelée deux fois dans la même seconde. Deux appels à la fonction à la même seconde provoquent une collision. Cela n’est peut-être pas à l’origine du problème en fonction de la façon dont votre code utilise la fonction, mais vous pouvez utiliser l’exemple de GUID de décalage temporel plus unique pour autoriser les valeurs uniques qui se produisent au cours de la même seconde.

Créer un GUID de décalage temporel plus unique

Cet exemple, comme l’exemple de création d’un GUID de décalage temporel simple , crée un GUID basé sur l’heure, mais il a une longueur de 25 caractères. Cet exemple crée une valeur de 20 caractères à partir de l’offset en secondes, de 12:00 minuit le 1er janvier 2000, et ajoute cinq nombres aléatoires supplémentaires à la fin de celle-ci. Cela vous permet de trier des données en fonction du GUID, mais cela permet d’avoir une plus grande unicité. Cela peut être mis à jour pour utiliser toute autre date comme base.

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le C:\InetPub\Wwwroot dossier du site Web par défaut.
    3. Nommez le fichier GuidTest2. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID. Lorsque vous actualisez la page, vous voyez les 20 premiers caractères de l’incrément de GUID, et les cinq derniers caractères sont aléatoires.

Notes

Cet exemple et l’exemple de GUID de création de temps simple sont créés pour la sérialisation temporelle des appels à la CreateGUID fonction. Si le tri des données en fonction de l’heure n’est pas obligatoire, vous pouvez utiliser l’exemple de GUID aléatoire pour créer un GUID aléatoire.

Créer un GUID aléatoire simple

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le dossier C:\inetpub\wwwroot pour le site Web par défaut.
    3. Nommez le fichier GuidTest3. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID aléatoire de 20 caractères. Lors de l’actualisation de la page, la valeur change de façon aléatoire.

Notes

Cet exemple montre comment créer un GUID aléatoire de longueur fixe. Pour créer un GUID de longueur variable, utilisez l’exemple de GUID Create a variable-Length aléatoire .

Créer un GUID aléatoire de longueur variable

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le dossier C:\inetpub\wwwroot pour le site Web par défaut.
    3. Nommez le fichier GuidTest4. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID aléatoire de 10 caractères, 25 caractères et 50 caractères. Lorsque vous actualisez la page, les valeurs changent de manière aléatoire.

Notes

Cet exemple et l’exemple de création d’un GUID aléatoire simple créent des chaînes de caractères aléatoires concaténés. L’exemple de code de création de GUID aléatoire de type Windows développe cette fonctionnalité pour créer un GUID qui est mis en forme comme un GUID Windows.

Créer un GUID aléatoire de style Windows

Windows utilise principalement des GUID lorsqu’il enregistre les ID de classe pour les composants et les autres objets, mais les GUID peuvent être utilisés pour n’importe quel élément. Les GUID Windows sont de longues chaînes de caractères hexadécimaux formatés, ce qui signifie qu’ils utilisent les chiffres 0 à 9 et les lettres A à F. (Microsoft Access possède également un ID de réplication intégré dans le même format.) Cet exemple montre comment utiliser du code similaire à l’exemple de code de création d’un GUID aléatoire de longueur variable pour créer un GUID comme un GUID Windows.

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le C:\InetPub\Wwwroot dossier du site Web par défaut.
    3. Nommez le fichier GuidTest5. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID aléatoire qui est formaté comme un GUID Windows. Lors de l’actualisation de la page, la valeur change de façon aléatoire.

Créer un GUID aléatoire de style Windows plus puissant

Étant donné que les GUID Windows utilisent des nombres hexadécimaux pour chaque caractère, 16 valeurs sont possibles par caractère dans le GUID. Si vous développez les valeurs pour inclure l’alphabet entier, 36 valeurs sont possibles par caractère dans le GUID. Cet exemple utilise la fonction de l’exemple de création d’un GUID aléatoire de longueur variable pour créer un GUID dans le même format qu’un GUID Windows.

  1. Sélectionnez Démarrer, pointez sur programmes, sélectionnez accessoires, puis cliquez sur bloc-notes pour ouvrir le bloc-notes.

  2. Tapez ou collez le code ASP suivant dans le bloc-notes :

    <%@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. Enregistrez la page :

    1. Dans le menu fichier , sélectionnez Enregistrer.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le C:\InetPub\Wwwroot dossier du site Web par défaut.
    3. Nommez le fichier GuidTest6. asp.
    4. Sélectionnez Enregistrer.
    5. Dans le menu fichier , sélectionnez quitter.
  4. Recherchez la page à l’aide d’Internet Explorer. Vous voyez un GUID aléatoire qui est formaté comme un GUID Windows. Lors de l’actualisation de la page, la valeur change de façon aléatoire.