我编写的asp.net程序,以前只有一个人登陆操作,现在改为多人登陆操作。操作是扫描产品条形码,再根据条形码取得订单信息,绑定运单,打印。我把条形码,订单号保存在session里,这样各个用户应该不会干扰吧,但是运行起来却发生了干扰。敬请回答。
如果不在session里,比如aspx.cs中的变量,不同的用户访问会是什么效果?
多个用户访问C#程序,用户之间互不干扰
答案:4 悬赏:10 手机版
解决时间 2021-04-23 15:54
- 提问者网友:浮克旳回音
- 2021-04-22 18:36
最佳答案
- 五星知识达人网友:拜訪者
- 2021-04-22 19:30
Session对于每一个浏览器都是不同的,也就是说你在你的机子上打开一个IE,再打开一个火狐,同时用这两个浏览器登陆你的系统进行操作,都属于各自的操作。不会影响你的运行,只要你是用Session存储用户数据。
补充:也是一样的,页面文件也是多线程运行的,每一个用户一个线程,一个线程管理一个session。虽然Session在服务器端编写的时候是用一个对象去获取的,但那只是程序员看到的,并不是IIS看到的。
补充:也是一样的,页面文件也是多线程运行的,每一个用户一个线程,一个线程管理一个session。虽然Session在服务器端编写的时候是用一个对象去获取的,但那只是程序员看到的,并不是IIS看到的。
全部回答
- 1楼网友:青灯有味
- 2021-04-22 23:22
估计用到了static变量导致的。
这玩意就会导致多用户共用同一个变量,导致了某用户获取了被别人影响了的值。
尽量不用。那页面刷新时如何保存值呢?
可以用viewstate,隐藏字段,session。
看你的网页怎么设计的了,尽量避免在同一页上太多的刷新
- 2楼网友:低血压的长颈鹿
- 2021-04-22 21:48
当一个用户登录时,系统就分配一个唯一的sessionID,所以说session是不同的,如果是变量会发生值覆盖的情况。估计你的程序师取得条形信息的时间出现问题
- 3楼网友:爱难随人意
- 2021-04-22 20:56
你登陆都实现了,那注册就不难了撒,就sql的语句不同.
先用查询看注册的用户名是不是在数据库里面已经存在,如果不存在就插入到表中,返回成功注册的提示.
如果存在就返回一个错误提示.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯