Brauchen Sie Hilfe zum Festlegen und Abrufen von Objekt von Sitzung in ASP.net Web-Services. Ich spare Sitzung in einer Methode des Dienstes und wenn ich versuche, es zu erhalten, gibt einfach Null. Beispielcode ist unten für Sitzung zu speichernKann nicht speichern und Wert von Web-Service-Sitzung erhalten ASMX asp.net auf AJAX-Aufruf
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string setObj(NameValue[] formVars)
{
MyObject obj = new MyObject();
obj.vlaue = "1";
Session["obj"] = (object) obj;
return new JavaScriptSerializer().Serialize("");
}
Für immer Sitzung:
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string getObj(NameValue[] formVars)
{
MyObject obj = new MyObject();
obj = (MyObject)Session["obj"] ;
return new JavaScriptSerializer().Serialize(obj.value);
}
In obigen Code Sitzungsdaten ist null. Ich habe auch den Sitzungszustand in Web-Config hinzufügen, aber wird nicht funktionieren:
<system.web>
<pages>
<namespaces>
<add namespace="System.Web.SessionState"/>
</namespaces>
</pages>
<sessionState mode="InProc"></sessionState>
Dank.
Erstens .. verwenden HttpContext.Current.Session .. Auch warum werfen Sie Ihre myObject nach unten auf ein Objekt, wenn Sie es speichern, in der Sitzung? Speichern Sie es einfach als MyObject. – Wheels73
@ Wheels73 Ich habe HttpContext.Current.Session verwendet, aber das wird auch nicht funktionieren. versucht auch, MyObject direkt in Sitzung zu speichern. nächste Methodenaufruf gibt noch Null auf .. :( –
haben Sie die sessionid auf dem Session-Objekt überprüft, wenn das Setzen und Empfangen ... sind sie gleich? – Wheels73