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 :

Quand l'incohérence frappe de plein fouet


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Quand l'incohérence frappe de plein fouet
    Salut tout le monde

    Là, je suis face à un problème d'une totale incohérence et je ne vois pas bien où il faut que j'aille chercher mon souci, enfin son origine.

    Sur ma machine j'ai un code (voir plus bas) dans un contrôle Login sur l'évènement de LogginIn, donc pendant que l'utilisateur se connecte. Ce code est simple : il teste si l'utilisateur est Approved ou pas et le renvoi vers une page d'approbation si besoins.

    Ce code fonctionne trés bien sur ma machine mais arrivé chez mon hébergeur, il me sort un message d'erreur :
    Object reference not set to an instance of an object.
    La seule différence notable entre ma machine et mon hébregeur est que lui, il est sur un système anglais.

    Voici le code, vous jugerez de sa simplicté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Protected Sub Login1_LoggingIn(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles Login1.LoggingIn
            Dim u As MembershipUser = Membership.GetUser(GetUserGUID(Login1.UserName))
            If Not u.IsApproved Then
                Response.Redirect(GetPage("Confirmation", enTypeRetour.Lien) & "&userCON=" & GetUserGUID(Login1.UserName).ToString)
            End If
        End Sub
    La Méthode GetUserGUID ne fait que rammener le GUID de l'utilisateur qui porte le LoginName entré dans le contrôle et ça ramène bien le GUID que j'attends, j'ai vérifié.

    Une idée ?

  2. #2
    Membre émérite Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Par défaut
    L'un de tes objets renvoie null.

    Donc maintenant lequel.

    Je pense que GetPage("confirmation") te pose probleme peut-etre que le path a change.

    Log tes application cela te permettra de plus facillement debugger.

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Moi je parie sur le MemberShipUser u à null.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.

    J'ai un poil avancé et j'ai déocuvert nu truc encore plus effrayant, mais je crois que vais passer expert "trucs bizarre sur le MemberShip"

    Revenons sur le getPage, vite fait : il n'a rien à voir pour l'instant, puisque le programme s'arrête avant cette ligne.

    Le logage, oui, j'ai une petite procédure maison pour envoyer des choses dans un fichier Texte, histoire de bien me rendre compte, vu qu'avec les hébergeur, on a pas accès à tout.

    Alors j'ai fini par trouver qu'il me renvoyait un GUID par défaut parce que je ne respectais pas la casse du login (bizarre, mais je vérifierais par ailleurs).

    Du coup, ce qui me laisse pantois, c'est que s'il ne trouve pas le GUID d'un utilisateur connu il fait une erreur d'instanciation.
    Eventuellement je veux bien le comprendre (quoique, va falloir que je réfléchisse) mais alors la vraie question c'est comment éviter ça, parce que des gars qui vont me saisir un login avec des erreurs je vais en avoir un paquet.

    Alors avant que LuteceFalco me rappelle (trés gentiment avec la bate de base ball) le Try Catch, j'y ai pensé, sauf que là, j'ai un peu de mal à le mettre en forme, surtout avec mon test au milieu de tout ça.

    Une idée ?

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Moi je parie sur le MemberShipUser u à null.
    Perdu, il est absent de la base, mais en fait tu n'as pas entièrement tort

Discussions similaires

  1. aller à la cellule en dessous quand elle est pleine
    Par nicdodo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/03/2012, 16h03
  2. insertion d'une nouvelle feuille quand une autre est pleine
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/04/2008, 08h50
  3. Réponses: 13
    Dernier message: 20/02/2008, 20h07
  4. [VBA-E] Comment avancer d'une ligne quand la précedente est pleine ?
    Par Trooper2 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 19/01/2007, 19h56
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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