Trace.Flush Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Vacía el búfer de salida y hace que los datos almacenados en búfer se escriban en el Listeners.
public:
static void Flush();
[System.Diagnostics.Conditional("TRACE")]
public static void Flush ();
[<System.Diagnostics.Conditional("TRACE")>]
static member Flush : unit -> unit
Public Shared Sub Flush ()
- Atributos
Ejemplos
En el ejemplo siguiente se crea un TextWriterTraceListener objeto denominado myTextListener
. myTextListener
usa un StreamWriter llamado myOutputWriter
para escribir en un archivo denominado TestFile.txt
. En el ejemplo se crea el archivo, la secuencia y el escritor de texto, se escribe una línea de texto en el archivo y, a continuación, se vacía y se cierra la salida.
// Specify /DTRACE when compiling.
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Diagnostics;
void main()
{
#if defined(TRACE)
// Create a file for output named TestFile.txt.
FileStream^ myFileStream =
gcnew FileStream( "TestFile.txt", FileMode::Append );
// Create a new text writer using the output stream
// and add it to the trace listeners.
TextWriterTraceListener^ myTextListener =
gcnew TextWriterTraceListener( myFileStream );
Trace::Listeners->Add( myTextListener );
// Write output to the file.
Trace::WriteLine( "Test output" );
// Flush and close the output stream.
Trace::Flush();
Trace::Close();
#endif
}
// Specify /d:TRACE when compiling.
using System;
using System.IO;
using System.Diagnostics;
class Test
{
static void Main()
{
// Create a file for output named TestFile.txt.
using (FileStream myFileStream =
new FileStream("TestFile.txt", FileMode.Append))
{
// Create a new text writer using the output stream
// and add it to the trace listeners.
TextWriterTraceListener myTextListener =
new TextWriterTraceListener(myFileStream);
Trace.Listeners.Add(myTextListener);
// Write output to the file.
Trace.WriteLine("Test output");
// Flush and close the output stream.
Trace.Flush();
Trace.Close();
}
}
}
' Specify /d:TRACE=True when compiling.
Imports System.IO
Imports System.Diagnostics
Class Test
Shared Sub Main()
' Create a file for output named TestFile.txt.
Using myFileStream As New FileStream("TestFile.txt", FileMode.Append)
' Create a new text writer using the output stream
' and add it to the trace listeners.
Dim myTextListener As New TextWriterTraceListener(myFileStream)
Trace.Listeners.Add(myTextListener)
' Write output to the file.
Trace.WriteLine("Test output")
' Flush and close the output stream.
Trace.Flush()
Trace.Close()
End Using
End Sub
End Class
Comentarios
El vaciado de la secuencia no vaciará su codificador subyacente a menos que llame explícitamente a Flush o Close. Establecer AutoFlush en true
significa que los datos se vaciarán del búfer a la secuencia, pero el estado del codificador no se vaciará. Esto permite al codificador mantener su estado (caracteres parciales) para que pueda codificar correctamente el siguiente bloque de caracteres. Este escenario afecta a UTF8 y UTF7, donde determinados caracteres solo se pueden codificar después de que el codificador reciba el carácter o caracteres adyacentes.