Probleme serveur IIS ? - Programmation
Marsh Posté le 30-04-2001 à 11:57:25
C simple.
Pour voir si ton global.asa est lu, écrit une méga connerie dedans (genre tu fermer pas une paranthèse).
Si tu ne peux plus accéder à ton site, c'est bon, il est lu.
Sinon, t'as bien mis "éxécuter les scripts" dans les propriété du site ?
Sinon, ton problème, c'est que tu dois compter dans une variable locale...
Compte dans une variable d'application pour y avoir accès depuis les autres pages.
Deplus, sauvegarde le compteur dans un fichier ou une base de données à chaque mise à jour, car sinon, proutch ! Tu perds ton compteur lors ud reboot.
PS: Si tu stockes la compteur dans une base, introduit une gestion des erreurs. Chez moi, j'ai SQL Server 2000, et il met plus de temps à démarrer que IIS. Il en résultait des erreurs lors de l'accès à la base.
Je teste donc maintenant la cnx avant d'écrire dedans
Marsh Posté le 30-04-2001 à 12:01:27
Voici le code sur mo site (cf. signature).
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
sub Application_OnStart
Application.Lock
Application("NBCNX" ) = 0
Application("DSN" ) ="DSN=xxxxxxxxxxxxxx;UID=xxxxxxxxxxxxxx;PWD=xxxxxxxxxxxxxx"
Application("WAITING" ) = 1
Application.UnLock
end sub
sub Session_OnStart
Application("NBCNX" ) = Application("NBCNX" ) + 1
sql = "UPDATE CPT SET NB = NB + " & Application("WAITING" )
on error resume next
Set session("CNX" ) = Server.CreateObject("ADODB.Connection" )
session("CNX" ).Open Application("DSN" )
session("CNX" ).Execute sql
if err <> 0 then
Application("WAITING" ) = Application("WAITING" ) + 1
else
Application("WAITING" ) = 1
end if
on error goto 0
end sub
Sub Session_OnEnd
if Application("NBCNX" ) > 0 then
Application("NBCNX" ) = Application("NBCNX" ) - 1
end if
session("CNX" ).close
set session("CNX" ) = nothing
end sub
</SCRIPT>
Application("NBCNX" ) contient le nombre de connectés à l'instant T
NB, dans la table CPT contient le nombre d'accès au site depuis matusalem
WAITING est une variable tampon qui stock toutes les connections qui n'ont pas été comptabilités dans la base.
=> Je tente de la stocker à l'accès suivant.
Marsh Posté le 30-04-2001 à 12:10:49
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnStart
Application("online" ) = 0
END SUB
SUB Session_OnStart
Application.Lock
Application("online" ) = Application("online" ) + 1
Application.Unlock
END SUB
SUB Session_OnEnd
Application.Lock
Application("online" ) = Application("online" ) - 1
Application.Unlock
END SUB
</SCRIPT>
Voila ce que j'ai pour compter mes visiteurs, mais ca ne marche aps
Je regardes ton code...
Marsh Posté le 30-04-2001 à 12:18:42
Ouais, apparement, ton code est correct...
Enlève quand même tes Application.Lock et Application.Lock des sub session_xx.
Par contre met les dans application_onstart
Si ça marche toujours pas, tapes dans l'url de IE le chemin d'accès au global.asa
S'il te l'afficher alors il n'est soit pas à la racine du site, soit le site n'a pas été déclaré comme étant une application avec les droits d'éxécution des scripts
Marsh Posté le 30-04-2001 à 12:26:53
Ok merci pour ton aide,je vais regarder ca cette pres midi
Marsh Posté le 30-04-2001 à 11:50:21
Encore moi,
j'ai mis en place une gestion des statistiques d'accès au site,mais j'ai l'impression que le fichier global.asa ,n'est jamais lu ou utilisé par le serveur !C tres bizarre.
De meme que je ne peux pas donner le nombre de visiteur sur le site avec un comptage dans ce meme fichier global.asa.
Alors est ce qu'il faut l'activer quelque part ? Ou bien y a t il une commande quelsonque ....