Ich erhalte die folgende Ausnahme:
System.NotSupportedException : Dieser Stream unterstützt keine Positionierungsoperationen.
bei System.Net.Sockets.NetworkStream.Seek(Int64 Offset, SeekOrigin Origin)
bei System.IO.BufferedStream.FlushRead()
bei System.IO.BufferedStream.WriteByte(Byte Wert)
Der folgende Link zeigt, dass dies ein bekanntes Problem für Microsoft ist. http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=273186
Dieser Stacktrace zeigt 2 Dinge:
- Der System.IO.BufferedStream führt Operationen mit absurdem Zeiger durch. Ein BufferedStream sollte den zugrunde liegenden Stream puffern und nicht mehr. Die Qualität des Puffers wird schlecht sein, wenn es solche Positionierungsoperationen gibt.
- Es wird nie stabil mit einem Stream funktionieren, der keine Positionierungsoperationen unterstützt.
Gibt es Alternativen? Muss ich einen Puffer zusammen mit einem NetworkStream in C# verwenden oder ist dies bereits gepuffert?
Bearbeitung: Ich möchte einfach die Anzahl der Lese-/Schreibaufrufe auf dem zugrunde liegenden Socket-Stream reduzieren.