Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1831 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [asp.net] variable publique mais seulement pour la session? possible?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[asp.net] variable publique mais seulement pour la session? possible?

n°828955
fils_de_la​_lumiere
Posté le 22-08-2004 à 16:40:19  profilanswer
 

bonjour, j'utilise actuellement dans un projet VB.net (webform) des variables déclaré en 'public' dans un module. Le problème c'est que je me suis apercu que ces variables étaient partagées par tout le monde au lieu d'être attribuées seulement pour la session (pour chaque personne quoi).
 
Ainsi, si une personne défini dans variable de type string 'toto' la valeur 'test' n'importe qui à ce moment affichant le contenu de cette variable à la valeur 'test'.
 
Plus grave, la déclaration de connexion au serveur sql :
 

Public maConn As New SqlConnection("User ID=sa;password=xxxxx;Initial Catalog=projet1;Data Source=serveurSql" )


 
est effective pour le programme aussi et non pour la session, ce qui veut dire que si cette connexion échoue, le programme entier est planté pour tout le monde :/
 
A l'aide  :sweat:  
 
 :jap:


Message édité par fils_de_la_lumiere le 22-08-2004 à 19:11:28
mood
Publicité
Posté le 22-08-2004 à 16:40:19  profilanswer
 

n°829227
fils_de_la​_lumiere
Posté le 23-08-2004 à 09:36:44  profilanswer
 

up :(

n°829249
gedeon
Posté le 23-08-2004 à 10:05:22  profilanswer
 

A définir ddans le fichier global.asax

n°829296
fils_de_la​_lumiere
Posté le 23-08-2004 à 10:44:40  profilanswer
 

définir quoi?

n°829372
gedeon
Posté le 23-08-2004 à 11:39:06  profilanswer
 

Tu peux définir les variables de session dans la fichier global.asax

n°829642
fils_de_la​_lumiere
Posté le 23-08-2004 à 14:04:42  profilanswer
 

j'ai du faire quelque chose qu'il fallait pas, voici le contenu de mon global.asax et maConn n'est pas trouvé dans le reste du projet :
 

Code :
  1. Imports System.Web
  2. Imports System.Web.SessionState
  3. Imports System.Data
  4. Imports System.Data.SqlClient
  5. Public Class Global
  6.     Inherits System.Web.HttpApplication
  7.     [Code généré par le Concepteur de composants]
  8.     Public maConn As New SqlConnection("User ID=sa;password=xxx;Initial Catalog=Progres;Data Source=xxx" )
  9.     Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
  10.         ' Se déclenche lorsque l'application est démarrée
  11.     End Sub
  12.     Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
  13.         ' Se déclenche lorsque la session est démarrée
  14.     End Sub
  15.     Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
  16.         ' Se déclenche au début de chaque demande
  17.     End Sub
  18.     Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
  19.         ' Se déclenche lors d'une tentative d'authentification de l'utilisation
  20.     End Sub
  21.     Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
  22.         ' Se déclenche lorsqu'une erreur se produit
  23.     End Sub
  24.     Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
  25.         ' Se déclenche lorsque la session se termine
  26.     End Sub
  27.     Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
  28.         ' Se déclenche lorsque l'application se termine
  29.     End Sub
  30. End Class


Message édité par fils_de_la_lumiere le 23-08-2004 à 14:05:10
n°829652
gedeon
Posté le 23-08-2004 à 14:14:31  profilanswer
 

C pas très etonnant
du reste la reponse se trouve dans le fichier que tu viens de poster  
 

Citation :

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
          ' Se déclenche lorsque la session est démarrée
End Sub


 

n°829656
fils_de_la​_lumiere
Posté le 23-08-2004 à 14:20:00  profilanswer
 

gedeon a écrit :

C pas très etonnant
du reste la reponse se trouve dans le fichier que tu viens de poster  
 

Citation :

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
          ' Se déclenche lorsque la session est démarrée
End Sub



 
même en mettant la variable publique 'maConn' dans 'session_start', cette variable n'est pas trouvé dans le reste du projet
 
(je precise que je fais mes premiers pas en vb.net)

n°829666
gedeon
Posté le 23-08-2004 à 14:36:11  profilanswer
 

comment accedes-tu a maConn ?  
donnes-moi ta syntaxe  
 
Tu as perdu si ce n'est pas un truc du genre Session("maConn" )
 ;)  

n°829691
fils_de_la​_lumiere
Posté le 23-08-2004 à 14:47:37  profilanswer
 

gedeon a écrit :

comment accedes-tu a maConn ?  
donnes-moi ta syntaxe  
 
Tu as perdu si ce n'est pas un truc du genre Session("maConn" )
 ;)


 
bon alors je vais résumé :D voila comment se presentait mon code :
 
dans un module :
 

Code :
  1. Module _public
  2.     Public maConn As New SqlConnection("User ID=sa;password=xxx;Initial Catalog=xxx;Data Source=xxx" )
  3.     Public monReader As SqlDataReader
  4.     Public currentUserLogin As String
  5.     Public currentUserName As String
  6.     Public currentUserID As Integer
  7.     Public currentUserMail As String
  8. End Module


 
 
dans mes webforms :
 

Code :
  1. Imports System.Data
  2. Imports System.Data.SqlClient
  3. Public Class helpcontent
  4.     Inherits System.Web.UI.Page
  5.     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.         maConn.Open()
  7.         mon code
  8.         maConn.close()
  9.     End Sub
  10. End Class


Message édité par fils_de_la_lumiere le 23-08-2004 à 14:48:22
mood
Publicité
Posté le 23-08-2004 à 14:47:37  profilanswer
 

n°829710
gedeon
Posté le 23-08-2004 à 14:58:38  profilanswer
 

Donc utilise le global.asax dans lequel tu va declarer ton object maConn dans la fonction Session_Start
Ensuite de tes pages tu va pouvoir acceder a ton objet maCon a l'aide de la syntaxe suivante  
Session("maConn" ).Open ....
etc
 
 
 

n°829836
fils_de_la​_lumiere
Posté le 23-08-2004 à 16:29:01  profilanswer
 

Code :
  1. Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
  2.         ' Se déclenche lorsque la session est démarrée
  3.         Dim maConn As New SqlConnection("User ID=sa;password=xxx;Initial Catalog=xxx;Data Source=xxx" )
  4. End Sub


 

Code :
  1. Session("maConn" ).Open()
  2. Dim aaa As New SqlCommand("select * from table where id_t='916'", Session("maConn" ))
  3. monReader = aaa.ExecuteReader
  4. While monReader.Read()
  5.     TextBox1.Text = monReader.GetValue(monReader.GetOrdinal("flag" ))
  6. End While


 
il arrive pas à se connecter avec session("maconn" ).open

n°829849
gedeon
Posté le 23-08-2004 à 16:45:51  profilanswer
 

Ecoute sans detail on ne peux rien faire
Et puis essaye des gerer les erreur a mon avis ça peut pas faire de mal
Le fait que tu soit debutant ne t'empeche pas de regarder l'aide ;)

n°829853
fils_de_la​_lumiere
Posté le 23-08-2004 à 16:52:27  profilanswer
 

gedeon a écrit :

Ecoute sans detail on ne peux rien faire
Et puis essaye des gerer les erreur a mon avis ça peut pas faire de mal
Le fait que tu soit debutant ne t'empeche pas de regarder l'aide ;)


 
je veux bien détailler mais quels détails veut tu? sinon bah la gestion des erreur j'y ai pensé mais j'ai le même problème sans erreur tout simplement avec mes variables qui sont "vu" par l'application et non par la session

n°830685
fils_de_la​_lumiere
Posté le 24-08-2004 à 12:16:00  profilanswer
 

c bon merci j'ai trouvé avec session.add("var" ) et session.item("var" ) le seul problème c'est que je n'arrive pas à atteindre l'objet session dans le module ou il y a toute mes fonctions??


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [asp.net] variable publique mais seulement pour la session? possible?

 

Sujets relatifs
Un variable dans le resultat d'une requete SQL[newbie] Créer une variable date
Quest sur fermeture navigateur et sessionc'est possible de faire ça ??? [javascript inside]
Loguer session WINXP a distanceest-il possible de mettre un compteur sans que celui-ci apparaisse?
[SQL SERVER] - Utiliser une variable locale dans un CURSOR (TSQL)Comment stocker une query string de longueur variable
toujours un souci de sessionPHP, Dreamweaver, et session -debutant-
Plus de sujets relatifs à : [asp.net] variable publique mais seulement pour la session? possible?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR