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

Definition

Beendet einen asynchronen Schreibvorgang und blockiert, bis die E/A-Operation abgeschlossen wurde.Ends an asynchronous write operation and blocks until the I/O operation is complete. (Verwenden Sie stattdessen WriteAsync(Byte[], Int32, Int32, CancellationToken).)(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)

Parameter

asyncResult
IAsyncResult IAsyncResult IAsyncResult IAsyncResult

Die ausstehende asynchrone E/A-Anforderung.The pending asynchronous I/O request.

Ausnahmen

Dieses IAsyncResult-Objekt wurde nicht durch Aufrufen von BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) für diese Klasse erstellt.This IAsyncResult object was not created by calling BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) on this class.

Der Stream ist geschlossen, oder ein interner Fehler ist aufgetreten.The stream is closed or an internal error has occurred.

Beispiele

Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) Konstruktor.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

Hinweise

In der .NET Framework 4 und früheren Versionen erforderlich, wie z. B. BeginWrite und EndWrite , asynchrone Datei-Vorgänge zu implementieren.In the .NET Framework 4 and earlier versions, you have to use methods such as BeginWrite and EndWrite to implement asynchronous file operations. Diese Methoden sind weiterhin verfügbar, in der .NET Framework 4.5.NET Framework 4.5 zur Unterstützung von legacy-Code, jedoch die neuen Async-Methoden, wie z. B. ReadAsync, WriteAsync, CopyToAsync, und FlushAsync, Hilfe, die Sie asynchrone Dateivorgänge leichter implementieren.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.

Diese Methode überschreibt EndWrite.This method overrides EndWrite.

EndWrite muss genau einmal aufgerufen werden, für jede IAsyncResult aus BeginWrite.EndWrite must be called exactly once on every IAsyncResult from BeginWrite. EndWrite blockiert, bis der e/a-Vorgang abgeschlossen ist.EndWrite will block until the I/O operation has completed.

Gilt für:

Siehe auch