Asp.net(c#)做好网站竟然有这种问题,只好求救了

来源:百度知道 编辑:UC知道 时间:2024/05/21 04:35:55
给公司内部做了个数据录入系统,Asp.net(c#)做的.大概说一下项目结构:一个工程(可以有若干个工程)下可以包添加若干个标度,每个标段下可以添加若干个用户信息。登陆的用户ID保存在Session里面,用来判断是否可以进行操作,在此没有权限等级。当一个人操作进去数据添加的时候,一切的一切都正常,但是当二个人同时给一个工程添加数据的时候,问题出现了,我添加的数据偶尔跑到另外一个人那里去了,他的数据偶尔跑的我哪里去了。打个比方,我两同时给一个工程下添加不同的标段,再添加标段下对应的用户信息(至少都同时打开了添加用户信息的页面了),
竟然出现了情况:他准备添加用户信息,我已经添加了,竟然跑在他添加的标段下面,我添加的标段下面竟然没有,可能还有别的情况....。(程序是通过Url里面传来的标段ID来给用户添加信息的)真不知道是怎么回事?

这个问题在很多多用户系统中是常见问题.
首先在对于记录的修改方面,你要做好唯一性的限定.
也就是说,当某一用户打开某条记录的时候,你就要有一把锁,把这条记录锁定,其它用户只有只读权限.

而在数据库处理方面,你最好采用事务,保证同一是时刻只存在某一个修改或添加的操作.
这样才不至于出现混乱.

数据库并发处理没有做好
可以用存储过程或者事物来处理

数据混乱?Session整理清楚下

应该属于数据泄漏的问题,PHP也存在这样的问题,
试试,在添加完数据之后,刷新一下页面。
我想你应该不会没用事务吧。。呵呵