2010-12-29 8 views
8

Ich bin ein Netzwerk-Stream unter Verwendung von Daten aus dem Netzwerk in einer ASP.NET Anwendung zu lesen und ich bekomme diese Fehlermeldung beim Versuch, aus dem Stream zu lesen:Stream unterstützt keine gleichzeitige IO-Operationen lesen oder schreiben

stream does not support concurrent IO read or write operations

Es passiert manchmal. Irgendeine Idee ?

+0

ein kleines Code-Snippet würde helfen, das Problem zu identifizieren .. –

Antwort

9

Es klingt einfach so, als ob Sie versuchen, zwei verschiedene Operationen auf demselben Stream gleichzeitig aus verschiedenen Threads auszuführen. Das Hinzufügen eines lock (Monitor) oder Mutex sollte helfen, den Zugriff auf den Stream zu synchronisieren.

+0

Dies ist von Entwurf. Ein Thread liest Daten aus dem Netz und schreibt sie in den Stream (es ist der innere Stream, ich benutze 'HttpWebResponse') und gleichzeitig liest ein anderer Thread die Daten. Ich dachte, dies ist wegen gleichzeitiger Lesevorgänge oder gleichzeitige Schreibvorgänge auf dem gleichen Stream (?). Soll ich einen Speicherstream als Vermittler verwenden? – Xaqron

+1

@Xaqron - Zugriff auf den gleichen * Stream * kann in Ordnung sein; aber Sie müssen immer noch den Zugang verschachteln/synchronisieren; d.h. es sollte nicht versuchen, ** genau zur gleichen Zeit ** zu lesen und zu schreiben; RWRWRWRW sollte funktionieren, RRWRRWRRW, WWWRWWWRWWRRRRWRWWWRWRW etc - das Problem versucht die beiden Dinge ** im selben Moment ** –

+2

@ Xaqron leider, ich habe keine Glyphe auf meiner Tastatur für R überstempeln W ... –

Verwandte Themen