IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Variable client unique et reconnue sur le serveur (variable SESSION)


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Points : 86
    Points
    86
    Par défaut Variable client unique et reconnue sur le serveur (variable SESSION)
    Bonjour,
    Je ne sais pas trop comment intituler mon post.
    En fait, j'ai une page client qui fait appel à certaine variables dans le code behind (VB.net).
    Le problème arrive quand j'ai plus de 1 client qui se connectent et load la même page client (mapage.aspx).
    Si le client A appuie sur un bouton, il set la variable MaTextBox (code behind) avec le contenu de la textbox qu'il vient d'éditer.
    Le client B se connecte à la même page, et set le contenu de la textbox avec un autre contenu.
    Le problème est là :
    coté serveur, la variable MaTextBox est "partagée" par la force des choses par les 2 clients et le dernier qui la set la met à jour avec son propre contenu de la taxtbox coté client.
    donc, je perd ce qu'avais saisie le client A au profit du client B, et là, c'est le drame.

    Comment puis-je résoudre ce problème, car il me faut du code behind (serveur) pour que le client puisse éditer le contenu de la page ?
    Typiquement, ce que fait client A ne doit pas interagir avec ce que fait client B, le tout sur la même page.
    Au mieux pour moi la variable SESSION semble unique par client, cela serait ma soluce tout en gardant le traitement via le code behind... qu'en pensez-vous ?

    merci
    Patrick
    PS : je me demande s'il faudrait pas un script sur le client (lequel et comment), mais je ne connais pas trop javascript, je connais mieux vb.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Ne met pas la variable en Shared tout simplement!

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Points : 86
    Points
    86
    Par défaut
    Bonsoir Dokho1000
    En fait à la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Partial Class ClientsPages_Redaction
        Inherits System.Web.UI.Page
     
        Shared CurrentPlayer_Id As String
        Shared ElektorWS As New ElektorWS.Elektor
    il faudrait qlq chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Partial Class ClientsPages_Redaction
        Inherits System.Web.UI.Page
     
        Dim CurrentPlayer_Id As String
        Dim ElektorWS As New ElektorWS.Elektor
    ....
    et ça marcherai dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Protected Sub dl_AllDepartements(ByVal Source As Object, ByVal e As DataListCommandEventArgs) Handles dl_Departements.ItemCommand
            If e.CommandName = "Select" Then
                CurrentPlayer_Id = CType(e.Item.FindControl("Id"), Label).Text
                dl_Players.Visible = False
                UserCommandsProcess("Departements_Edit")
            End If
        End Sub
    c'est bien ça ? et seulement ça ?
    Patrick

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Je ne connais pas bien la syntaxe mais oui c'est l'idée.
    Chaque request (Http) vers le serveur créé une instance de class de ta page et donc les données postée sont bien associé entre "page" & request.
    Si évidement tu crées dans ta class une variable "Shared" celle-ci est commune pour tous les requests. (pourrait être utile par exemple si tu voulais compter le nombre de fois qu'une page est appelé par exemple)

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 166
    Points : 86
    Points
    86
    Par défaut
    Bonjour Dokho1000
    En effet, c'est quelque chose de très intéressant et ouvre pas mal d'horizon.
    Merci de l'info.
    Patrick

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/11/2015, 10h32
  2. Réponses: 3
    Dernier message: 13/06/2015, 15h30
  3. Réponses: 2
    Dernier message: 13/10/2009, 11h28
  4. Réponses: 2
    Dernier message: 02/07/2007, 15h05
  5. Conflit xp_sendmail et client outlook ouvert sur le serveur
    Par tikam dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 12/05/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo