ajax优化问题(在线等)--高手请进

wenblue7 2010-05-27 10:03:25
做了一个即时留言系统,就是用户与用户之间留言,只要双方在线就能即时收到留言。我是用Ajax即时刷新做的。前几天用的人少没发现什么问题。昨天大概200人同时上线,同时用就出现了IndexOutofRangeException异常。
网上查了这个异常 都没有找到好的解决方案。
奇怪的是出现这种异常就说有功能都用不了。而且一但一个用户出现。所有的用户都会用不了。应该是内存不足引起的。我用ajax 6秒请求一次。
请问个位大侠有什么号的解决方案,有话方案。或者实现在线即时留言的更好方法。先谢谢各位大侠了。
在线等。
...全文
200 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenblue7 2010-05-27
  • 打赏
  • 举报
回复
不要掉下去啊
lawbc 2010-05-27
  • 打赏
  • 举报
回复
lz的问题和我以前公司的差不多,就是异常不一样,不过都是数据库问题

重启iis有OK,至今我还是不明白什么原因,发了N个帖子了,而且记录的sql执行是没有问题的
应该是connection共享的原因
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 wenblue7 的回复:]
可能是我表达有问题。
上面的错误是在访问量多时就会出现。而访问量少时时没有任何问题的。
这说明不是代码或者逻辑的问题。
我想可能是数据库、iis、系统内存,或者其他问题。
如果是代码问题我根本不会贴出来
[/Quote]
看你写了很多次。这可真是新鲜,什么叫做“访问量多时就会出现、访问量少时没有任何问题”?

对于一个web服务器来说,特别是当你编写软件从来不做压力测试的时候,所谓“访问量少时”,你能测试出并发而产生的bug么?
悔说话的哑巴 2010-05-27
  • 打赏
  • 举报
回复
http://zhidao.baidu.com/question/98548058.html
这里有个 参考一下吧
wenblue7 2010-05-27
  • 打赏
  • 举报
回复
会不会是请求过于频繁,然后用户又过多,导致系统内存不足。iis运行出现啊
qiuqingpo 2010-05-27
  • 打赏
  • 举报
回复
感觉有点怪
duck530 2010-05-27
  • 打赏
  • 举报
回复
如果代码正确,AJAx不会出现这种问题,至少我现在还没有发现请求的上线
阿非 2010-05-27
  • 打赏
  • 举报
回复
你可以使用http长连接,也就是服务器"推" 技术
wenblue7 2010-05-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 net_lover 的回复:]
IndexOutofRangeException是索引超出了范围,比如数组有10个元素,而你用aa[10]去读取,就会导致错误,应该是你代码的问题,别人恐怕无法更详细作答
[/Quote]
程序没有问题
用的人少的使用是完全可以用的
就是在用的人多的时候会出现上面的问题
而且是间歇性的。
出现这种问题我重新启动iis又会好一段时间,但过段时间又会出现一样的问题。
子夜__ 2010-05-27
  • 打赏
  • 举报
回复
MARK
nextuntil 2010-05-27
  • 打赏
  • 举报
回复
顶一下、菜鸟学ajax。
悔说话的哑巴 2010-05-27
  • 打赏
  • 举报
回复
代码问题,一般估计是传值的时候有问题了
yudengchang 2010-05-27
  • 打赏
  • 举报
回复
把你的for,if,while...都检查一遍,还有你所有定义的数组,都check一下,问题就可以解决了.
孟子E章 2010-05-27
  • 打赏
  • 举报
回复
IndexOutofRangeException是索引超出了范围,比如数组有10个元素,而你用aa[10]去读取,就会导致错误,应该是你代码的问题,别人恐怕无法更详细作答
lzk1018834925 2010-05-27
  • 打赏
  • 举报
回复
菜鸟来学习...
wenblue7 2010-05-27
  • 打赏
  • 举报
回复
可能是我表达有问题。
上面的错误是在访问量多时就会出现。而访问量少时时没有任何问题的。
这说明不是代码或者逻辑的问题。
我想可能是数据库、iis、系统内存,或者其他问题。
如果是代码问题我根本不会贴出来
lester19872007 2010-05-27
  • 打赏
  • 举报
回复
索引超出了数组界限。 你看看可以把你的数组加大点试试。。
telankes2000 2010-05-27
  • 打赏
  • 举报
回复
Exception information:
Exception type: IndexOutOfRangeException
Exception message: 索引超出了数组界限。
Stack trace: 在
System.Data.SqlClient.SqlDataReader.ReadColumn(Int32 i, Boolean setTimeout)
在 System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
在 System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
在 System.Data.SqlClient.SqlDataReader.get_Item(Int32 i)
在 dazaza.info.GetUserInfo(String name)
系统已经很明白的告诉你那里错了
照着提示去改就好了
电脑是不会骗人的
wenblue7 2010-05-27
  • 打赏
  • 举报
回复
Exception information: 
Exception type: IndexOutOfRangeException
Exception message: 索引超出了数组界限。
Stack trace: 在
System.Data.SqlClient.SqlDataReader.ReadColumn(Int32 i, Boolean setTimeout)
在 System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
在 System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
在 System.Data.SqlClient.SqlDataReader.get_Item(Int32 i)
在 dazaza.info.GetUserInfo(String name)

我可以保证代码逻辑没有问题。如果有问题之前使用人少时为什么不错了。
wenblue7 2010-05-27
  • 打赏
  • 举报
回复
Exception information: 
Exception type: IndexOutOfRangeException
Exception message: 索引超出了数组界限。
Stack trace: 在
System.Data.SqlClient.SqlDataReader.ReadColumn(Int32 i, Boolean setTimeout)
在 System.Data.SqlClient.SqlDataReader.GetValueInternal(Int32 i)
在 System.Data.SqlClient.SqlDataReader.GetValue(Int32 i)
在 System.Data.SqlClient.SqlDataReader.get_Item(Int32 i)
在 dazaza.info.GetUserInfo(String name)

我可以保证代码逻辑没有问题。如果有问题之前使用人少时为什么不错了。
加载更多回复(5)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧