FileStream.EndWrite(IAsyncResult) FileStream.EndWrite(IAsyncResult) FileStream.EndWrite(IAsyncResult) FileStream.EndWrite(IAsyncResult) Method

Definición

Termina una operación de escritura asincrónica y se bloquea hasta que se completa la operación de E/S.Ends an asynchronous write operation and blocks until the I/O operation is complete. (Considere usar WriteAsync(Byte[], Int32, Int32, CancellationToken) en su lugar).(Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.)

public:
 override void EndWrite(IAsyncResult ^ asyncResult);
public override void EndWrite (IAsyncResult asyncResult);
override this.EndWrite : IAsyncResult -> unit
Public Overrides Sub EndWrite (asyncResult As IAsyncResult)

Parámetros

asyncResult
IAsyncResult IAsyncResult IAsyncResult IAsyncResult

La solicitud de E/S asincrónica pendiente.The pending asynchronous I/O request.

Excepciones

La secuencia está cerrada o se produjo un error interno.The stream is closed or an internal error has occurred.

Ejemplos

Este ejemplo de código forma parte de un ejemplo mayor proporcionado para FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) el constructor.This code example is part of a larger example provided for the FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) constructor.

   static void EndWriteCallback( IAsyncResult^ asyncResult )
   {
      State^ tempState = dynamic_cast<State^>(asyncResult->AsyncState);
      FileStream^ fStream = tempState->FStream;
      fStream->EndWrite( asyncResult );
      
      // Asynchronously read back the written data.
      fStream->Position = 0;
      asyncResult = fStream->BeginRead( tempState->ReadArray, 0, tempState->ReadArray->Length, gcnew AsyncCallback( &FStream::EndReadCallback ), tempState );
      
      // Concurrently do other work, such as 
      // logging the write operation.
   }

};


static void EndWriteCallback(IAsyncResult asyncResult)
{
    State tempState = (State)asyncResult.AsyncState;
    FileStream fStream = tempState.FStream;
    fStream.EndWrite(asyncResult);

    // Asynchronously read back the written data.
    fStream.Position = 0;
    asyncResult = fStream.BeginRead(
        tempState.ReadArray, 0 , tempState.ReadArray.Length, 
        new AsyncCallback(EndReadCallback), tempState);

    // Concurrently do other work, such as 
    // logging the write operation.
}
Private Shared Sub EndWriteCallback(asyncResult As IAsyncResult)
    Dim tempState As State = _
        DirectCast(asyncResult.AsyncState, State)
    Dim fStream As FileStream = tempState.FStream
    fStream.EndWrite(asyncResult)

    ' Asynchronously read back the written data.
    fStream.Position = 0
    asyncResult = fStream.BeginRead( _ 
        tempState.ReadArray, 0 , tempState.ReadArray.Length, _
        AddressOf EndReadCallback, tempState)

    ' Concurrently do other work, such as 
    ' logging the write operation.
End Sub

Comentarios

En el .NET Framework 4 y versiones anteriores, tiene que utilizar métodos como BeginWrite y EndWrite para implementar operaciones asincrónicas de archivos.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous file operations. Estos métodos siguen .NET Framework 4.5.NET Framework 4.5 estando disponibles en para admitir código heredado; sin embargo, los nuevos métodos asincrónicos, ReadAsynccomo, CopyToAsync WriteAsync, y FlushAsync, ayudan a implementar las operaciones asincrónicas de archivo más fácilmente.These methods are still available in the .NET Framework 4.5.NET Framework 4.5 to support legacy code; however, the new async methods, such as ReadAsync, WriteAsync, CopyToAsync, and FlushAsync, help you implement asynchronous file operations more easily.

Este método invalida EndWrite.This method overrides EndWrite.

EndWritese debe llamar a antes de cada IAsyncResult de BeginWrite.EndWrite must be called exactly once on every IAsyncResult from BeginWrite. EndWritese bloqueará hasta que se haya completado la operación de e/s.EndWrite will block until the I/O operation has completed.

Se aplica a

Consulte también: