首页 新闻 会员 周边 捐助

Ajax请求的aspx或ashx文件如何保存变量?

0
悬赏园豆:10 [已解决问题] 解决于 2013-12-20 10:34

在前端页面中使用Ajax将数据传递到后台aspx或ashx进行处理,但是我发现每次请求都会重新初始化所有的变量,而我的需求是在现有数据的基础上不断添加数据。例如:

// 生成了一个字符串
$.post("MyHandler.ashx",{text: myString}, function(){});
// MyHandler.ashx

List<string> dataList = new List<string>();

public void ProcessRequest(HttpContext context)
{
     dataList.Add(context.Request["text"]);
     foreach(string text in List)
           context.Response.Write(text);
}

本意是要通过不断添加然后返回这个字符串数组的,但是由于MyHandler.ashx每次都重新加载,所以每次dataList都会被清空。

我就想问问如何将dataList中的数据保存下来,使得每次处理请求的时候能够加入新的元素,即不断扩大List。

不想用数据库,所以不要给我使用数据库的解决方法。

谢谢

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:393
提问于:2013-12-19 16:17
< >
分享
最佳答案
0

虽然不明白你这么做的初衷,但你想这么实现List扩大是肯定不行的,aspx和ashx的本质是一个httphander,当捕获请求后,由httphander工厂产生一个httphander处理该请求,也就是说,处理请求的hander是会变的。

另一方面,请求每次到达后,都会new一个新的List。

像楼上说的那样,使用Session或者Catch等保存你的List(你搜一下ASP.NET状态管理就知道了),或者在客户端实现List扩张,然后传给服务器

收获园豆:5
zjruan | 菜鸟二级 |园豆:219 | 2013-12-19 17:14

嗯,回去用Session试试看

飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-12-19 18:41

最后还是用文件的形式保存了

飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-12-20 10:34
其他回答(3)
0

定义一个全局变量,保存在全局变量中。或者用Session暂存

收获园豆:1
木乌 | 园豆:1015 (小虾三级) | 2013-12-19 16:48

C#如何定义全局变量?

支持(0) 反对(0) 飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-12-19 18:41
0

或者 放到Cache中也行

收获园豆:1
jerry-Tom | 园豆:4077 (老鸟四级) | 2013-12-19 17:06
0

这个asp的保存机制有多很多啊,内置对象就有几个,随便选一个暂存就行,实在不知道弄,考虑用IO保存到记事本等介质中。

收获园豆:3
雾静 | 园豆:561 (小虾三级) | 2013-12-19 22:53

看来只能用文件了

支持(0) 反对(0) 飞鸟_Asuka | 园豆:393 (菜鸟二级) | 2013-12-20 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册