首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net下使用多线程多么?该如何解决

2012-04-28 
asp.net下使用多线程多么?有这样一个需求:一些用户会执行一个这样的操作,点击某个按钮或链接后,往数据库里

asp.net下使用多线程多么?
有这样一个需求:

一些用户会执行一个这样的操作,点击某个按钮或链接后,往数据库里插入200到几千条数据不等。

但是由于插入数据库这些操作耗时,所以打算另开一个线程操作。这个线程就是在按钮的事件里另开的。

如果其他用户也在进行这样的操作时,同样会去开一个线程。

但是,不知道怎么回事,如果第一个用户开了个线程开始插入数据库记录,此时,第二个用户也开始执行此操作并插入数据库

记录,最终导致第二个用户要插入数据库的记录全部插入,而第一个用户的只插入部分。


很是疑惑~~ 为什么呢?

还有,就是有没有什么方法确保第一个用户插入数据库的记录全部完成后,第二个再开始呢?


[解决办法]
用存储过程不行吗,打开事务,如果前面的插入失败则回滚事务,全部插入成功提交事务。
[解决办法]

探讨

关键不是用存储过程还是直接写sqL语句插入。
主要是想实现在后台进行数据库的插入操作,而用户还可以做其他的事情。

[解决办法]
建议使用异步,ajax或者async都可以。

在asp.net下,最好不用多线程。因为是多用户并行的,很可能出错,而出错很难调试。

热点排行