0
asp.net Webサービスでセッションを設定したり取得したりするのに役立つ必要があります。私は1つのサービス方法でセッションを保存しています。それを取得しようとすると、nullが返されます。サンプルコードは、セッションを取得するためのセッションWebサービスセッションから値を取得できないAJAXコールでASMX asp.net
[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("");
}
を保存するためのベローズである:上記のコードセッションデータで
[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);
}
はnullです。私はまた、ウェブの設定でセッション状態を追加しましたが、動作しません。
<system.web>
<pages>
<namespaces>
<add namespace="System.Web.SessionState"/>
</namespaces>
</pages>
<sessionState mode="InProc"></sessionState>
感謝を。
最初に.. HttpContext.Current.Sessionを使用します。また、セッションに保存するときにMyobjectをオブジェクトにキャストしているのはなぜですか? MyObjectとして保存するだけです。 – Wheels73
@ Wheels73私はHttpContext.Current.Sessionを使用しましたが、これは動作しません。 Myobjectをセッションに直接格納することによっても試行されます。次のメソッド呼び出しでもNullを返します。: –
セッションオブジェクトのセッションIDを設定して取得したときにセッションIDを確認しましたか?同じですか? – Wheels73