BufferedStream.Close Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Schließt den Stream und gibt alle Ressourcen frei (insbesondere Systemressourcen wie Sockets und Dateihandles), die dem aktuellen Pufferstream zugeordnet sind.
public:
override void Close();
public override void Close ();
override this.Close : unit -> unit
Public Overrides Sub Close ()
Ausnahmen
Beim Schließend des Streams ist ein Fehler aufgetreten.
Beispiele
Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die BufferedStream-Klasse bereitgestellt wird.
' When bufStream is closed, netStream is in turn
' closed, which in turn shuts down the connection
' and closes clientSocket.
Console.WriteLine(vbCrLf & "Shutting down the connection.")
bufStream.Close()
// When bufStream is closed, netStream is in turn
// closed, which in turn shuts down the connection
// and closes clientSocket.
Console.WriteLine("\nShutting down the connection.");
bufStream.Close();
// When bufStream is closed, netStream is in turn closed,
// which in turn shuts down the connection and closes
// clientSocket.
Console::WriteLine( "\nShutting down connection." );
bufStream->Close();
Hinweise
Alle zuvor in den Puffer geschriebenen Daten werden in die zugrunde liegende Datenquelle oder das Repository kopiert, bevor der pufferte Datenstrom geschlossen wird. Daher ist es nicht erforderlich, vor dem Aufrufen von "Close" aufzurufen Flush() . Nach einem Aufruf von Close können alle Vorgänge im pufferten Datenstrom Ausnahmen auslösen.
Durch das Löschen des Datenstroms wird der zugrunde liegende Encoder nicht geleert, es sei denn, Sie rufen explizit auf Flush() oder schließen. Das Festlegen AutoFlush auf "true" bedeutet, dass Daten aus dem Puffer in den Datenstrom geleert werden, der Encoderzustand wird jedoch nicht geleert. Dadurch kann der Encoder seinen Zustand (Teilzeichen) beibehalten, sodass er den nächsten Zeichenblock ordnungsgemäß codieren kann. Dieses Szenario wirkt sich auf UTF8 und UTF7 aus, bei dem bestimmte Zeichen nur codiert werden können, nachdem der Encoder das angrenzende Zeichen oder zeichen empfängt.
Der Versuch, einen Datenstrom zu bearbeiten, nachdem er geschlossen wurde, löst möglicherweise einen ObjectDisposedException.