2012-11-04 44 views
0

我正在编写聊天。基本上,我有一个窗口(TextBox),我想显示当前会话中的所有用户,但我不想使用数据库。用于聊天的持久数据

所以,我需要让我的活动用户表永久保留在刷新时不会被擦除的地方。

我看着Sessions。但是,它们过期了,我无法将我的活动用户数组保留在那里。我也看了应用程序对象,似乎这可以解决我的困境。但是:

说我叫

String[] users = new users String[1000]; 
Application['users'] = users; 

在我Page_Load()方法,相信我能存储新用户在该表中,但随后的每个页面加载将覆盖表,我将永远只显示一个用户,但我想沿线执行的东西是isset()可以解决这个问题。

回答

2

所以我需要保持我的活跃用户表持久 东西,不刷新刷新。

数据库是解决方案。

Application[]实际上是一个静态变量,所以在池回收时删除它,并且如果您有多个池,则比您拥有多个通用应用程序变量。

阅读关于应用程序状态:Using static variables instead of Application state in ASP.NET

查看与asp.net聊天一些其它例子:

http://www.codeproject.com/Articles/33817/Build-a-Web-based-Chat-using-ASP-NET-Ajax

+0

如何应用( '用户',阵列());我猜这是一回事。我被告知我应该能够通过应用程序()执行此应用程序() –

+0

@kellax应用程序变量是一个简单的静态变量。你不能把它留在那里,只要你喜欢,在你将要失去它的游泳池回收,做一个测试,你看到它。 – Aristos

+0

因为我非常喜欢“Pool Recycle”,但是找不到那是什么。页面重新加载/刷新或? –