SslStream.EndWrite(IAsyncResult) 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í.
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 .