2012-04-20 2 views
1

Je prévois d'écrire le fichier Global.asa en JavaScript. Quand une session ou une application se termine, j'ai besoin de faire des changements dans une base de données. Plus précisément, je dois découper une chaîne et l'utiliser dans une requête dans les fonctions Global.asa. Cette partie ne me dérange pas du tout. Juste la partie sur la transmission d'une variable de session en tant que paramètre. J'imagine mon Global.asa à ressembler à quelque chose comme ceci:
Problème ASP: Est-il possible de transmettre des variables de session en tant que paramètres aux fonctions du fichier Global.asa?

(Disons que les deux variables "variable1" et "variable2" étaient des variables de session)

<script language="JScript" runat="Server"> 
function Application_OnStart() { 
} 

function Application_OnEnd(variable1) { 
} 

function Session_OnStart() { 
} 

function Session_OnEnd(variable2) { 
} 
</script> 

Alors, je ne sais pas si ce Je demande est même faisable. Si oui, des conseils? Gardez à l'esprit que je travaille dans ASP, pas ASP.NET. En outre, je suis un peu nouveau à l'aide de code côté serveur, alors pardonnez mon ignorance.

Répondre

0

Non, ce que vous suggérez n'est pas faisable.

Les fonctions du fichier global.asa sont des rappels d'événements. Les fonctions sont appelées, toutes sans paramètres.

Vous pouvez utiliser l'objet Session pour faire ce que vous voulez.

Dans votre code, vous pouvez définir une variable de session comme ceci:

session("userid") = 856 

Dans votre global.asa vous pouvez utiliser:

variable1 = session("userid") 
+0

Merci à vous! Cela a répondu à ma question. – user92

-1

Avez-vous envisagé d'utiliser VBScript pour votre Global.asa? Je ne l'ai jamais codé un Global.asa en javascript, mais vous code, il n'y arrivais en VB et utiliser des variables de session ou niveau d'application:

 
<SCRIPT LANGUAGE=VBScript RUNAT=Server> 

Sub Application_OnStart() 
    'initialize application level variables 
    Application("ConnectionString") = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.mappath("access_db/mydb.mdb") 
End Sub 

Sub Application_OnEnd() 
    Application("ConnectionString") = "" 
End Sub 

Sub Session_OnStart() 
    'initialize session level variables 
    Session("UserIP") = Request.ServerVariables("REMOTE_ADDR") 
End Sub 

Sub Session_OnEnd() 
    Session("UserIP") = "" 
End Sub 

Je ne sais pas si vous pouvez passer une variable dans les fonctions prédéfinies en tant que tels , mais vous pouvez utiliser des variables de session ou d'application n'importe où sur le site Web, y compris dans ces fonctions.

+0

Vous pouvez utiliser toutes les langues disponibles scripting dans le monde. fichier asa. Cela inclut JScript. Vous ne pouvez pas transmettre de variables à ces fonctions. –

Questions connexes