Comparteix a través de


SslStream.EndWrite(IAsyncResult) Método

Definición

Finaliza una operación de escritura asincrónica iniciada con una llamada previa a BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).

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

Una instancia IAsyncResult devuelta por una llamada a BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).

Excepciones

asyncResult es null.

El parámetro asyncResult no se creó mediante una llamada a BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).

No queda ninguna operación de escritura sin finalizar.

O bien

No se ha producido la autenticación.

No se pudo realizar la operación de escritura.

Ejemplos

En el ejemplo de código siguiente se muestra cómo finalizar una operación de escritura asincrónica.

void WriteCallback( IAsyncResult^ ar )
{
   ClientState^ state = dynamic_cast<ClientState^>(ar->AsyncState);
   SslStream^ stream = state->stream;
   try
   {
      Console::WriteLine( L"Writing data to the client." );
      stream->EndWrite( ar );
   }
   catch ( Exception^ writeException ) 
   {
      Console::WriteLine( L"Write error: {0}", writeException->Message );
      state->Close();
      return;
   }

   Console::WriteLine( L"Finished with client." );
   state->Close();
}
void WriteCallback(IAsyncResult ar)
{
    ClientState state = (ClientState) ar.AsyncState;
    SslStream stream = state.stream;
    try
    {
        Console.WriteLine("Writing data to the client.");
        stream.EndWrite(ar);
    }
    catch (Exception writeException)
    {
        Console.WriteLine("Write error: {0}",
            writeException.Message);
        state.Close();
        return;
    }
    Console.WriteLine("Finished with client.");
    state.Close();
}

Comentarios

Si la operación no se ha completado, este método se bloquea hasta que lo haga.

Una aplicación no puede llamar a este método hasta que se haya autenticado correctamente. Para autenticarse, llame a uno de los AuthenticateAsClientmétodos , o BeginAuthenticateAsClient, AuthenticateAsServer. BeginAuthenticateAsServer

Para realizar esta operación de forma sincrónica, use el Write método .

Se aplica a