我从一个例子开始我的问题。我认为它会更简单。
我想要做的是从我的 Android 设备发送 REQUEST_1 到等待 JSON 请求的 asp 页面,例如 {"Year":2012}。页面获取此 json 字符串,并将其保存到对象(示例 arraylist)。一分钟后,我将 REQUEST_2 发送到同一个 ASP 页面,其中包含数据:{"Command","WhatIsCurrentYear"},然后我想得到响应:{"Year",2012}(仍应存储在数组列表中) .
有机会这样做吗?
我从一个例子开始我的问题。我认为它会更简单。
我想要做的是从我的 Android 设备发送 REQUEST_1 到等待 JSON 请求的 asp 页面,例如 {"Year":2012}。页面获取此 json 字符串,并将其保存到对象(示例 arraylist)。一分钟后,我将 REQUEST_2 发送到同一个 ASP 页面,其中包含数据:{"Command","WhatIsCurrentYear"},然后我想得到响应:{"Year",2012}(仍应存储在数组列表中) .
有机会这样做吗?
Session 有一个属性 Session.TimeOut。会话在时间到期后到期。默认情况下,在 asp.net 会话超时时间为 20 分钟此外,如果用户关闭浏览器会话,如果它的模式是 InProc(Cookies 或没有 cookie)也会过期。在 InProc 会话提供程序中,IIS 可以随时回收应用程序池(不活动期间,达到某些 CPU/内存阈值,...)而不会发出警告,使该会话的内容无效。每次回发时都会初始化变量,因此如果之前您将数据保存在数组列表对象中,它就会丢失。要在回发期间保存数据,您可以使用 ViewState。
我创建了一个用于访问会话的类
public static IPerson User
{
get
{
if (HttpContext.Current.Session == null || HttpContext.Current.Session[UserConstant] == null)
return new Student();
return (IPerson)HttpContext.Current.Session[UserConstant];
}
set
{
HttpContext.Current.Session[UserConstant] = value;
}
}
您可以用您想要的任何对象替换 IPerson。