2010-12-29 25 views
8

Tôi đang sử dụng một dòng suối mạng để đọc dữ liệu từ mạng trong một ứng dụng ASP.NET và tôi nhận được lỗi này trong khi cố gắng để đọc từ stream:dòng không hỗ trợ đồng thời IO đọc hoặc viết hoạt động

stream does not support concurrent IO read or write operations

Đôi khi điều đó xảy ra. Bất kỳ ý tưởng ?

+0

một đoạn mã nhỏ sẽ giúp xác định vấn đề .. –

Trả lời

9

Có vẻ như bạn đang cố gắng thực hiện hai thao tác khác nhau trên cùng một luồng cùng lúc với các chuỗi khác nhau. Thêm lock (Monitor) hoặc Mutex sẽ giúp đồng bộ hóa quyền truy cập vào luồng.

+0

Đây là theo thiết kế. Một số luồng đang đọc dữ liệu từ mạng và ghi nó vào luồng (đó là luồng bên trong, tôi sử dụng 'HttpWebResponse') và đồng thời một luồng khác đọc dữ liệu. Tôi nghĩ rằng điều này là do đồng thời đọc hoặc đồng thời viết trên cùng một dòng (?). Tôi có nên sử dụng luồng bộ nhớ làm người hòa giải không? – Xaqron

+1

@Xaqron - truy cập cùng một luồng * có thể không sao; nhưng bạn vẫn cần phải xen kẽ/đồng bộ hóa quyền truy cập; tức là nó không nên cố gắng đọc và viết ** cùng một lúc **; RWRWRWRW nên làm việc, như nên RRWRRWRRW, WWWRWWWRWWWRRRRWRWWWRWRW vv - vấn đề là cố gắng hai điều ** cùng một lúc ** –

+2

@ Xaqron than ôi, tôi không có một glyph trên bàn phím của tôi cho R overstamping W ... –

Các vấn đề liên quan