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

Silverlight Discussion :

Silverlight et variables de Sessions


Sujet :

Silverlight

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Silverlight et variables de Sessions
    Bonjour,

    jeune développeur, je suis sur un projet de veille techno et j'explore les possibilités de Silverlight à travers différentes maquettes.
    J'utilise SL3+RIA+EF+Oracle.

    Or j'ai un problème majeur.


    Au démarrage de mon application, je dois permettre à l'utilisateur de choisir le schéma sur lequel il souhaite se connecter (sachant que les différents schéma sont tous structurellement similaires).
    La variable de chaine de connexion doit être stockée coté serveur dans une session pour qu'elle soit distincte pour chaque utilisateur (normal quoi).

    J'initialise bien des variables de session au Session_Start de Global.asx mais après une fois dans ma classe de DomaineService, la variable session est à null...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [ServiceOperation]
            [WebMethod(EnableSession = true)]
            public string SetDatabaseSchema(string nouveauSchema)
            {
                System.Web.HttpContext.Current.Session["ChaineConnexion"] = "metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=Devart.Data.Oracle;provider connection string=\"User Id=" + nouveauSchema + ";Password=" + nouveauSchema + ";Server=TestSrv;Persist Security Info=True\"";
    Donc à ce moment là ca plante...
    Je tourne en rond j'ai rajouté des trucs dans Web.Config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
     
    <system.web>
        <sessionState cookieless="true" mode="InProc"></sessionState>
    </system.web>
    mais non toujours pas...
    Quand je lis les forums ca m'a l'air pourtant tellement simple...

    Voilà j'ai besoin de votre aide messieurs!

  2. #2
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Bonjour,

    Tu as essayé d'ajouté ça sur ta classe de service

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    http://msdn.microsoft.com/en-us/libr...attribute.aspx
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Oui :s
    Voilà la partie intéressante de la structure du DomainService.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    [EnableClientAccess()]
        [AspNetCompatibilityRequirements(RequirementsMode =
    AspNetCompatibilityRequirementsMode.Required)]
        [ServiceContract(SessionMode = SessionMode.Required)]
        public class DomainServiceUSER : LinqToEntitiesDomainService<EntitiesUSERS>
        {
            protected override EntitiesUSERS CreateContext()
            {
                return new EntitiesUSERS(System.Web.HttpContext.Current.Session["ChaineConnexion"].ToString());
            }
     
            [ServiceOperation]
            [WebMethod(EnableSession = true)]
            public void SetDatabaseSchema(string nouveauSchema)
            {
                System.Web.HttpContext.Current.Session["ChaineConnexion"] = "metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=Devart.Data.Oracle;provider connection string=\"User Id=" + nouveauSchema + ";Password=" + nouveauSchema + ";Server=Test;Persist Security Info=True\"";
    uveauSchema;
    	}
        }
    }

    Edit : Oui j'ai mis plein de trucs :p
    Et j'ai testé avec Allowed au lieu de Required pour l'ASPNetCompatibility et j'ai toujours cette variable null

  4. #4
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Pourquoi n'utilise simplement pas les possibilités de RIA services en ajoutant une propriété à la classe user ?
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Tu veux parler de la classe User qui dérive de UserBase ou de ma classe perso?

    Parce que la classe perso j'ai cru comprendre (en f'sant des tests) qu'on ne peut pas utiliser stocker de variable vu que à chaque appel de fonction, la variable redevient nulle.

    Et la classe User dérivant de UserBase j'ai pensé à l'utilisé à un moment mais j'ai pas trouvé de tuto clair sur l'authentication Silverlight (en supposant que ca a un rapport)

  6. #6
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Tu as un tuto ici sur l'ajout d'une image au profil de l'utilisateur: http://blogs.msdn.com/b/davrous/arch...-services.aspx

    Remplace "image" par "nom de la base". Enfin, c'est l'idée.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    C'est justement le tutorial avec lequel je comptais commencer ma journée

    Je vais voir ca merci. Je vous tiens au courant.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bon je n'arrive pas à avancer...

    Je me lance dans ce tuto là : http://www.astaticstate.com/2010/04/...ntication.html


    Ce qui me sort par les yeux c'est que je cherche simplement à utiliser des variables de session. Que c'est aussi simple que Session["test"] = "test";
    et qu'au final je me retrouve à modifier des tas de classes dont je comprends que très peu le fonctionnement.

    Alors autant si j'arrive à maitriser au final l'authentication user c'est interessant. Autant je suis carrément pas productif pour le moment :/


    Il faut savoir que je veux pas utiliser l'authentication ASP.Net via la base de donnée intégrée mais via ma base Oracle perso.
    Donc déjà je dois modifier le login. Si j'utilise l'user faut que j'arrive à passer des paramètres (customdata?) au serveur pour les enregistrer. Toutes ces notions de credential, et tout le bordel je les ai pas


    EDIT : je précise que j'ai regardé et le serveur renvoi bien un identifiant de session au client qui lui meme le renvoi au serveur à chaque requete (ASP.NET_SessionId=IdAléatoireDeSession) et que l'objet HttpContexte.Current contient bien l'information... mais l'objet Session est null.

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Un passage sur une station de travail équipée de VS2010 et de SL4 a réglé le problème.


    Par ailleurs, j'avais mis en place un système de dictionnaire contenant les Session.

    Une dictionnaire public static dans le global.asx.
    Au démarrage d'une session on enregistrait cette dernière dans le dictionnaire et ensuite on la recherchait dans le dictionnaire quand on voulait agir dessus.
    C'est lourd et inadapté mais bon. De toute façon maintenant le problème de session est résolu.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 31
    Points
    31
    Par défaut
    Je remonte le sujet car je suis bloqué avec le même problème et je n'ai bien compris ta solution
    Please help

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

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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