2010-12-29 14 views
8

que estoy usando una corriente de red para leer los datos de la red en una aplicación ASP.NET y me da este error al intentar leer de la corriente:corriente no soporta concurrente IO leer ni escribir operaciones

stream does not support concurrent IO read or write operations

Ocurre a veces. Alguna idea ?

+0

un pequeño fragmento de código ayudaría a identificar el problema .. –

Respuesta

9

Suena como si estuviera intentando hacer dos operaciones diferentes en la misma secuencia al mismo tiempo desde diferentes subprocesos. Agregar un lock (Monitor) o Mutex debería ayudar a sincronizar el acceso a la transmisión.

+0

Esto es por diseño. Algún hilo está leyendo datos de la red y lo escribe en la secuencia (es flujo interno, yo uso 'HttpWebResponse') y al mismo tiempo otro hilo lee los datos. Pensé que esto se debía a lecturas concurrentes o escrituras simultáneas en la misma secuencia (?). ¿Debería usar un flujo de memoria como mediador? – Xaqron

+1

@ Xaqron: acceder al mismo * stream * puede estar bien; pero aún necesita intercalar/sincronizar el acceso; es decir, no debería intentar leer y escribir ** exactamente al mismo tiempo **; RWRWRWRW debería funcionar, al igual que RRWRRWRRW, WWWRWWWRWWWRRRRWRWWWRWRW etc. - el problema es intentar las dos cosas ** en el mismo instante ** –

+2

@Xaqron alas, no tengo un glifo en mi teclado para R sobrealcantar W ... –

Cuestiones relacionadas