后台进程改变静态数据。

时间:2014-06-03 07:06:31

标签: c# asp.net

我在web中使用后台工作程序,该应用程序使用应用程序为多个用户改变应用程序中的静态数据,但是单个用户可以正常运行。 我得到像

这样的错误
  1. SqlConnection不支持并行事务
  2. System.Data错误数据已更改
  3. 清除静态数据集时,在位置0处没有行

1 个答案:

答案 0 :(得分:2)

请记住,您无法跨多个线程共享非线程安全对象实例。

如果您有一个SqlConnection opend,那么多个线程如何使用这个单一连接(例如,一个用于发送而另一个线程想要同时接收)而不会造成麻烦和不可预测的行为? 您需要锁定资源对象或使用ThreadLocal或使用自己的连接创建每个线程以获得线程安全性。 - 注意竞争条件或死锁。所以'多线程'要小心。