Bonjour,
J'ai une appli web silverlight et j'ai besoin de connaitre le nom de la session utilisateur.
Dans ma partie Web j'ai ajouté un "service WCF Compatible Silverlight" dont voici le code:
Dans ma partie Silverlight j'appel mon service
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
21 using System; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Activation; namespace MonAppli.Web { [ServiceContract(Namespace = "")] [SilverlightFaultBehavior] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class ELAASPService { [OperationContract] public object GetSessionVariable() { return System.Web.HttpContext.Current.User.Identity.Name; } } }
En local ca marche très bien mais dès que je place mon appli sur mon serveur web j'ai une erreur.
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
21
22 private void UserIdentification() { ASPServiceReference.ASPServiceClient _cl = new ASPServiceReference.ASPServiceClient(); _cl.GetSessionVariableCompleted += new EventHandler<ASPServiceReference.GetSessionVariableCompletedEventArgs>(_cl_GetSessionVariableCompleted); _cl.GetSessionVariableAsync(); _cl.CloseAsync(); } void _cl_GetSessionVariableCompleted(object sender, ASPServiceReference.GetSessionVariableCompletedEventArgs e) { // Si le résultat est différent de null if (e.Result != null) { // Si le résultat est un string if (e.Result is string) { // On renseigne la session Windows par le résultat windowsSession = (string)e.Result; } } }
Sur IIS dans mon site je "Ajoute une application" de la même façons que les autre services que j'utilise pour cette appli (sauf que eux je les met dans "Default Web Sites").
Bref, à chaque fois j'ai un message d'erreur.
Comment faire pour obtenir la session de l'utilisateur ??
Merci
Partager