流不支持并发IO读写操作。

9

我在一个 ASP.NET 应用程序中使用网络流从网络中读取数据,并在尝试从流中读取时遇到以下错误:

流不支持并发IO读取或写入操作

这种情况有时会发生。有什么想法吗?


一小段代码片段可以帮助确定问题所在。 - Danish Khan
1个回答

11

听起来像是您试图在不同的线程上同时对同一流执行两个不同的操作。添加一个lockMonitor)或Mutex应该有助于同步对流的访问。


这是设计上的问题。某个线程正在从网络中读取数据并将其写入流中(它是内部流,我使用 HttpWebResponse),同时另一个线程正在读取数据。我认为这是因为在同一流上进行并发读取或并发写入所致(?)。我应该使用内存流作为中介吗? - Xaqron
2
@Xaqron - 访问相同的可能是可以的; 但是您仍然需要交错/同步访问; 即,它不应该尝试在完全相同的时间读取和写入; RWRWRWRW应该可以工作,RRWRRWRRW也应该可以,WWWRWWWRWWWRRRRWRWWWRWRW等-问题是尝试在同一瞬间做两件事。 - Marc Gravell
8
在耐心回答了我许多问题后,我很高兴能为您做些什么,这就是:\R/ - Xaqron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接