首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并发访问静态TableAdapter

并发访问静态TableAdapter
EN

Stack Overflow用户
提问于 2014-01-22 06:04:00
回答 1查看 383关注 0票数 0

我有一个异步服务器,它接收来自应用程序的数据请求,服务器为每个请求生成一个线程,该线程关闭并执行逻辑,并在完成后向应用程序发送一个回复。

数据逻辑来自于打算在本地机器上运行的软件的不同版本。在客户端处理请求,并从SQL服务器流数据。因此,所有使用的表适配器都是静态的,在这种情况下可以工作,但会给我的应用程序带来一些问题。

应用程序请求数据,但是实际的表适配器逻辑是在服务器上完成的,因此我们有多个线程访问同一个表适配器,并抛出有关位置的异常。

我很困惑,我试着为每个唯一的线程请求实例化一个新适配器,但是它会导致一个“命令已经被打开的表适配器使用”。我还尝试为访问静态适配器的函数生成一个新的AppDomain,但是它们最终什么也不做/崩溃(不太确定,因为我似乎无法跟踪它们)。

简而言之,尝试跨多个线程访问静态表适配器。任何建议都是有帮助的,但是重写数据逻辑并不是真正可行的。我很乐意根据请求为不同的片段提供代码,但目前它似乎只是一个理论问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 06:26:03

如果只有一个适配器,那么一次只能使用一个线程。因此,您需要同步对它的访问,以便每次只有一个线程访问它。您可以在包含“lock”语句的方法中包装对适配器的访问,从而阻塞任何后续线程,直到当前线程完成为止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21275406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档