在ASP.NET Web服务中的会话中设置和获取对象时需要帮助。我将会话保存在一种服务方法中,然后尝试检索它,只需给出null即可。示例代码可保存会话
[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。我还在Web配置中添加了会话状态,但行不通:
<system.web>
<pages>
<namespaces>
<add namespace="System.Web.SessionState"/>
</namespaces>
</pages>
<sessionState mode="InProc"></sessionState>
谢谢。
我将会话保存在一种服务方法中,然后尝试检索它,只需给出null。
如果这两种方法是在同一请求期间,则为null。.NET中的会话变量设置在响应标头的客户端,但是当您尝试阅读它们时,它们来自客户端的请求标头,自从请求以来就没有更改。