SslStream.EndWrite(IAsyncResult) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Termina un'operazione di scrittura asincrona avviata con una precedente chiamata del metodo 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)
Parametri
- asyncResult
- IAsyncResult
Istanza della classe IAsyncResult restituita da una chiamata di BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Eccezioni
asyncResult
è null
.
asyncResult
non è stato creato da una chiamata al metodo BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object).
Non esiste alcuna operazione di scrittura in sospeso da completare.
-oppure-
L'autenticazione non è stata effettuata.
Operazione di scrittura non riuscita.
Esempio
Nell'esempio di codice seguente viene illustrata la fine di un'operazione di scrittura asincrona.
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();
}
Commenti
Se l'operazione non è stata completata, questo metodo viene bloccato fino a quando non viene eseguito.
Un'applicazione non può chiamare questo metodo fino a quando non è stata eseguita correttamente l'autenticazione. Per eseguire l'autenticazioneAuthenticateAsClient, chiamare uno dei metodi , o BeginAuthenticateAsClient, AuthenticateAsServerBeginAuthenticateAsServer .
Per eseguire questa operazione in modo sincrono, usare il Write metodo .