Question

Code côté serveur:

    [WebMethod(CacheDuration = 0, EnableSession = true)]
    public static int UserID()
    {
        if (HttpContext.Current.Session["UserID"] == null) return 0;
        int UserID = Convert.ToInt32(HttpContext.Current.Session["UserID"]);
        return (UserID);

    }

Code côté client:

$.ajax({
    type: "POST", cache: false,
    url: "Login.aspx/UserID",
    data: "{'r':" + rnd() + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        alert(msg);
    }
});

Ce code fonctionne bien sur mon hôte local. et le " UserID " appel ajax, retourne la valeur correcte du paramètre Session.

mais lorsque j'essaie de télécharger mon site Web sur le serveur, le "quot ID utilisateur" " L'appel ajax retourne toujours faux!

mon serveur est asp.net 2.0 et j'utilise jquery 1.3.2

Aidez-nous à résoudre ce problème.

Était-ce utile?

La solution

Lisez cet article: FAQ sur l'état de la session ASP.NET . J'ai trouvé ma réponse dans cette question:

  1. Q: Les états de session fonctionnent sur certains serveurs Web mais pas sur d'autres. A: Peut-être un problème de nom de machine. Voir http://support.microsoft.com/default.aspx ? scid = kb; FR-US; q316112 .
  2. Q: Pourquoi mes variables de session sont-elles souvent perdues lors de l'utilisation du mode InProc? A: Probablement à cause du recyclage de l'application. Voir http://support.microsoft.com/default.aspx ? scid = kb; en-us; Q316148

Changement du mode sessionState en " StateServer " résolu le problème. Utilisez le code ci-dessous:

<sessionState mode="StateServer"
  stateConnectionString="tcpip=localhost:42424"
  cookieless="false"
  timeout="999"/>

Autres conseils

Quelques points à vérifier:

Utilisez-vous la configuration WebFarm? un problème peut survenir lors de l’utilisation de la session dans la configuration WebFarm.

Avez-vous vérifié votre trafic réseau en utilisant des outils tels que Fiddler ou FireBug? Le cookie d’authentification ASP.NET est-il envoyé pendant un appel AJAX?

Pouvez-vous confirmer que votre session var est valide?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top