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 :

Bloquage page pendant un traitement


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut Bloquage page pendant un traitement
    bonjour,

    suite a la lecture de se tuto: http://nico-pyright.developpez.com/t...ogresscontrol/

    je me demandé si il pourrai convenir a mon problème: j'ai une page asp.net qui sera mis a disposition a plusieur utilisateur, dans cette page un long traitement vas s'executé coté seveur et je souhaite donc bloquer l'accés a la page pour l'utilisateur qui declenche le traitement mais aussi pour les autres.

    j'ai donc realisé un overlayer sur le modele du tuto, mais je ne sais pas si sa suffira pour bloquer les utilisateur qui vont sur la page pendant que le traitement s'effectue.

    en effet je ne vois pas comment testé cela.

    Merci davance

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Avec cette solution, tu empêcheras ton user courant de cliquer sur un élément de ta page mais n'empêchera pas un autre user de se rendre sur cette page et d'y faire un traitement.

    Pour moi, la solution ne se situe pas au niveau du client. C'est du côté du serveur que j'essaierai de faire quelque chose.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    c'est a dire? créer un bloquage lors de l'evenement qui declenche mon traitement dans le code C# ?

    As tu des pistes que je pourrai explorer sur des methode de "bloquage" de tout les users?

    Merci

  4. #4
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    En vérifant simplement le status de ta méthode de traitement au niveau du serveur à l'aide d'un booléen, cela devrait suffir.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    je suis désolé je vois pas trop ce que tu veux dire par status en effet mon traitement est en fait un process et le probleme n'est pas de savoir quand le traitement est terminé, c'est surtout de bloquer la page pendant ce temps

  6. #6
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Citation Envoyé par manu7089 Voir le message
    je suis désolé je vois pas trop ce que tu veux dire par status en effet mon traitement est en fait un process et le probleme n'est pas de savoir quand le traitement est terminé, c'est surtout de bloquer la page pendant ce temps
    Status: si ton traitement est en cours ou pas.

    Si tu utilises un booléen dont tu changes l'état (true/false) au moment de lancer ton traitement (coté serveur), puis que tu réinitialises l'état de ton booléen à la fin de ce traitement, tu seras en mesure de déterminer si un traitement est en cours ou pas. Et donc, en codant la logique {si booléen @ true -> traitement en cours -> client en attente}, tu peux empêcher un autre utilisateur de lancer une nouveau traitement si ton serveur est déjà entrain d'en effectuer un.

    Je ne fais pas d'ASP, il y a peut-être une méthode toute faîte de synchro des clients, mais si elle éxiste, c'est coté serveur, pas client.

  7. #7
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Essayes de regarder du coté du lock et du Mutex pour gérer les accès concurrents.

    http://msdn.microsoft.com/en-us/libr...cz(VS.71).aspx

    http://msdn.microsoft.com/fr-fr/libr...ing.mutex.aspx

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 4
    Par défaut
    salut,
    j'ai un peu avancé c'est a dire que j'ai recuperer les bonne info pour savoir quand bloquer la page et quand la debloquer la page il ne reste qu'a trouvé un moyen de bloquer la page j'ai essayé avec un panel mais je n'arrive pas a le mettre au premier plan n'y a t il pas un autre moyen un peut moi "artisanal" pour bloquer les control de la page??

    Merci d'avance

  9. #9
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Il faut utiliser une variable stockée sur le serveur et partagée par tous les utilisateurs de l'application. Il y a de multiples solutions, toutefois, la meilleure me semble l'utilisation d'une variable "public static", ou applicative (Application["MaVariable"]).

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/04/2007, 09h06
  2. comment afficher un gif au centre de la page pendant un traitement
    Par dietrich dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/01/2007, 11h50
  3. Réponses: 1
    Dernier message: 28/01/2006, 14h03
  4. [vb.net] Modification d'une winform pendant un traitement
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/11/2005, 18h16
  5. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 15h13

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