Créer des GUID à l’aide de pages Active Server dans 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 n’importe où ailleurs où un champ de données unique est requis.

Version du produit d’origine : Internet Information Services
Numéro de la base de connaissances d’origine : 320375

Remarque

É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éer un GUID basé sur le temps simple

Cet exemple crée un GUID basé sur l’heure simple à 14 caractères à l’aide de l’année, du mois, du jour, de l’heure, de la minute et des 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 sélectionnez 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 sous.
    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 avec Explorer Internet. Vous voyez un GUID. Lorsque vous actualisez la page, vous voyez l’incrément du GUID.

Créer un GUID de décalage horaire simple

Cet exemple crée un GUID temporel de 20 caractères en utilisant le décalage en secondes à partir de 12 :00 minuit le 1er janvier 2000. Cela vous permet de trier les données en fonction du GUID et peut être mis à jour pour utiliser n’importe quelle autre date comme base.

  1. Sélectionnez Démarrer, pointez sur Programmes, sélectionnez Accessoires, puis sélectionnez 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 sous.
    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 avec Explorer Internet. Vous voyez un GUID. Lorsque vous actualisez la page, vous voyez l’incrément du GUID.

Remarque

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 peut ne pas poser de problème en fonction de la façon dont votre code utilise la fonction, mais vous pouvez utiliser l’exemple Créer un GUID de décalage horaire plus unique pour autoriser des valeurs uniques qui se produisent dans la même seconde.

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

Cet exemple, comme l’exemple Créer un GUID de décalage horaire simple , crée un GUID basé sur le temps, mais il contient 25 caractères. Cet exemple crée une valeur de 20 caractères à partir du décalage en secondes à partir de 12h00 minuit le 1er janvier 2000 et ajoute cinq nombres aléatoires supplémentaires à la fin de cette opération. Cela vous permet de trier les données en fonction du GUID, mais permet une plus grande unicité. Il peut être mis à jour pour utiliser n’importe quelle autre date comme base.

  1. Sélectionnez Démarrer, pointez sur Programmes, sélectionnez Accessoires, puis sélectionnez 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 sous.
    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 avec Explorer Internet. Vous voyez un GUID. Lorsque vous actualisez la page, vous voyez les 20 premiers caractères de l’incrément du GUID, et les cinq derniers caractères sont aléatoires.

Remarque

Cet exemple et l’exemple Create a simple time-offset GUID sont créés pour la sérialisation basée sur le temps 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 Créer un GUID aléatoire simple 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 sélectionnez 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 sous.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le dossier C :\InetPub\Wwwroot du 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 avec Explorer Internet. Vous voyez un GUID aléatoire de 20 caractères. Lorsque vous actualisez la page, vous voyez que la valeur change de façon aléatoire.

Remarque

Cet exemple crée un GUID aléatoire de longueur fixe. Pour créer un GUID de longueur variable, utilisez l’exemple Créer un GUID aléatoire de longueur variable .

Créer un GUID aléatoire de longueur variable

  1. Sélectionnez Démarrer, pointez sur Programmes, sélectionnez Accessoires, puis sélectionnez 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 sous.
    2. Recherchez le dossier racine de votre site Web, qui est généralement le dossier C :\InetPub\Wwwroot du 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 avec Explorer Internet. Vous voyez un GUID aléatoire à 10 caractères, 25 caractères et 50 caractères. Lorsque vous actualisez la page, vous voyez que les valeurs changent de façon aléatoire.

Remarque

Cet exemple et l’exemple Créer un GUID aléatoire simple créent des chaînes de caractères aléatoires concaténés. L’exemple Créer un GUID aléatoire de style Windows développe cette fonctionnalité pour créer un GUID au format GUID Windows.

Créer un GUID aléatoire de style Windows

Windows utilise principalement des GUID lorsqu’il inscrit des ID de classe pour les composants et d’autres objets, mais les GUID peuvent être utilisés pour n’importe quoi. Les GUID Windows sont de longues chaînes de caractères hexadécimaux mis en forme, ce qui signifie qu’ils utilisent les nombres 0 à 9 et les lettres A à F. (Microsoft Access dispose également d’un ID de réplication intégré au même format.) Cet exemple montre comment utiliser du code similaire à l’exemple Créer 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 sélectionnez 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 sous.
    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 avec Explorer Internet. Vous voyez un GUID aléatoire qui est mis en forme comme un GUID Windows. Lorsque vous actualisez la page, vous voyez que la valeur change de façon aléatoire.

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

É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 Créer un GUID aléatoire de longueur variable pour créer un GUID au même format qu’un GUID Windows.

  1. Sélectionnez Démarrer, pointez sur Programmes, sélectionnez Accessoires, puis sélectionnez 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 sous.
    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 avec Explorer Internet. Vous voyez un GUID aléatoire qui est mis en forme comme un GUID Windows. Lorsque vous actualisez la page, vous voyez que la valeur change de façon aléatoire.